【问题标题】:GTK+ 2.24. How to use unicode symbols in CGTK+ 2.24。如何在 C 中使用 unicode 符号
【发布时间】:2014-07-10 09:26:36
【问题描述】:

我想在 GTK+ 界面窗口中有一些 unicode 标签。我该如何使用它?代码:

  gtk_window_set_title(GTK_WINDOW(window), "ŲŪ");

在窗口标题栏中没有显示任何内容,所以我猜这是因为编码。

我正在使用 Visual Studio 2012 和来自 Windows Driver Kit 7.1.0 的 C 编译器,它是过时的 C99 编译器。


更新: 我发现这篇文章 http://owenshepherd.net/2010/the-sorry-state-of-unicode-in-c 声称 C99 中对 unicode 的支持非常差。

【问题讨论】:

    标签: c visual-studio-2012 unicode encoding gtk


    【解决方案1】:

    如果需要直接在 C 内部使用 Unicode 码位,可以使用 C 转义八进制形式;例如,版权标志©是\302\251

    此表应该可以帮助您转换代码点:http://utf8-chartable.de/unicode-utf8-table.pl?utf8=oct

    【讨论】:

    • 太好了,谢谢!我想强调的是,从代码“0302 0251”的开头删除 0 很重要,因为“\0302\0251”给出了不同的字符。
    • @Benas 那是因为八进制转义不能超过三个八进制数字,通过有一个前导 0 和三个数字,只有 0 和最左边的两个数字是转义的一部分。与流行的看法相反,不需要前导 0。
    猜你喜欢
    • 1970-01-01
    • 2015-05-08
    • 1970-01-01
    • 2017-10-05
    • 1970-01-01
    • 1970-01-01
    • 2013-04-24
    • 2014-06-17
    • 1970-01-01
    相关资源
    最近更新 更多