纯C代码示例中的utf8到字符编码

纯C代码示例中的utf8到字符编码,c,utf-8,char,codepages,C,Utf 8,Char,Codepages,我在使用纯C语言c89标准中的字符串时遇到问题。我使用utf8格式的套接字从web服务接收一些文本。用拉丁字符一切都好。但我也有一些西里尔语。它的显示方式类似于“ÐÐÐÐÐÐÐÐÐÐД½½¾¼。如何在纯C中将带有西里尔字母的utf8文本转换为字符*?您不能将UTF-8转换为字符*,因为字符*没有规定的格式,而字符*最常见的格式之一实际上是UTF-8。如果您遇到任何其他编码,您可以使用良好的旧标准iconv。对字符*的说法与对内存的说法相同-也就是说,在您指定目标编码之前,它是没有意义的,例如,

我在使用纯C语言c89标准中的字符串时遇到问题。我使用utf8格式的套接字从web服务接收一些文本。用拉丁字符一切都好。但我也有一些西里尔语。它的显示方式类似于“ÐÐÐÐÐÐÐÐÐÐД½½¾¼。如何在纯C中将带有西里尔字母的utf8文本转换为字符*?

您不能将UTF-8转换为字符*,因为字符*没有规定的格式,而字符*最常见的格式之一实际上是UTF-8。如果您遇到任何其他编码,您可以使用良好的旧标准iconv。

对字符*的说法与对内存的说法相同-也就是说,在您指定目标编码之前,它是没有意义的,例如,κСС-8。您如何处理收到的文本?把它归档?处理它?在终端上显示?如果我调试并使用监视列表,它会显示“监视”。因此,如果我以后使用此文本来显示它,它将是错误的…首先,您应该找出您想要的结果编码。您可以转储文件中的所有内容并在文本编辑器(如notepad++)中打开它,我认为它没有正确显示可能是因为windows支持utf-16而不是utf-8