【发布时间】:2014-05-13 09:41:04
【问题描述】:
我在使用纯 C 语言(c89 标准)中的字符串时遇到问题。我使用 utf8 格式的套接字从 Web 服务接收一些文本。拉丁字符一切正常。但我也有一些西里尔字母。它显示为Ð’ переданном。如何在纯C语言中将带有西里尔字母的utf8文本转换为char *?
【问题讨论】:
-
说“to char*”与说“to memory”是一样的——也就是说,在你指定目标编码之前它没有意义(例如,КОИ-8)。
-
您如何处理收到的文本?把它放到一个文件中?处理吗?在终端上显示?
-
如果我调试并使用监视列表,它会显示 Ð' переданном。所以如果我稍后使用这个文本来显示它会是错误的......
-
首先 - 你应该找出你想要的编码结果。
-
您可以将所有内容转储到文件中并在notepad++等文本编辑器中打开,我认为它显示不正确可能是因为Windows支持utf-16而不是utf-8