【发布时间】:2012-01-17 20:52:32
【问题描述】:
阅读了有关 C 的教程和书籍后,我正在努力将我对 UTF(作为罗马字母和各种其他字母/脚本的文本格式)的知识与 C 联系起来,作为一种在世界范围内使用的编程语言.
C 似乎采用 ASCII 字符。
如果我想写一个带有中文输入/输出的程序,比如说,我将如何用 C 来实现呢?
【问题讨论】:
阅读了有关 C 的教程和书籍后,我正在努力将我对 UTF(作为罗马字母和各种其他字母/脚本的文本格式)的知识与 C 联系起来,作为一种在世界范围内使用的编程语言.
C 似乎采用 ASCII 字符。
如果我想写一个带有中文输入/输出的程序,比如说,我将如何用 C 来实现呢?
【问题讨论】:
这是字符编码,而不是文本格式。如果你想在 C 中使用 UTF,你可以使用一个库来处理它(参见例如这里的 UTF-8 库:Light C Unicode Library)。如果你正在编写一个 GUI 程序,你的 GUI 库可能有处理它的工具(GTK、KDE、wxWidgets 和 Tk 都支持 Unicode)。
【讨论】:
您将使用“宽字符”wchar 而不是 char。
http://en.wikipedia.org/wiki/Wide_character
http://pubs.opengroup.org/onlinepubs/007908799/xsh/wchar.h.html
http://msdn.microsoft.com/en-us/library/aa242983(v=vs.60).aspx
还有专门的库,例如 iconv,可以在某些平台上提供帮助。
【讨论】: