在C程序中处理UTF-8我必须知道什么?

时间:2014-01-25 01:56:37

标签: c utf-8 c99 ansi c89

我有一个C程序,现在我需要支持UTF-8字符。为了执行该操作,我必须知道什么?我总是听说在C / C ++环境中处理它有多困难。为什么它确实存在问题?它与通常的C字符有何不同,也与它的大小不同?我可以在没有任何操作系统帮助的情况下使用纯C并且仍然可以移植吗?我应该问什么,但我没有?我正在寻找的工具是:字符是带有重音的名称(如法语单词:résumé),我需要将其读取并放入符号表中,然后从文件中搜索并打印它们。这是我的配置文件解析的一部分(非常类似.ini)

2 个答案:

答案 0 :(得分:1)

有一篇很棒的文章由Joel Spolsky撰写,他是Stack Overflow的创作者之一。

The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)

除此之外,您可能想查询有关此主题的其他一些问答,例如Handling special characters in C (UTF-8 encoding)

如前面提到的Q& A中所述,Tips on Using Unicode with C/C++可能会为您提供基础知识。

答案 1 :(得分:1)

我过去使用的两个很好的链接:

The-Basics-of-UTF8

reading-unicode-utf-8-by-hand-in-c

瓦尔特