【问题标题】:utf8 to char encoding in pure C code exampleutf8 到纯 C 代码中的字符编码示例
【发布时间】:2014-05-13 09:41:04
【问题描述】:

我在使用纯 C 语言(c89 标准)中的字符串时遇到问题。我使用 utf8 格式的套接字从 Web 服务接收一些文本。拉丁字符一切正常。但我也有一些西里尔字母。它显示为Ð’ переданном。如何在纯C语言中将带有西里尔字母的utf8文本转换为char *

【问题讨论】:

  • 说“to char*”与说“to memory”是一样的——也就是说,在你指定目标编码之前它没有意义(例如,КОИ-8)。
  • 您如何处理收到的文本?把它放到一个文件中?处理吗?在终端上显示?
  • 如果我调试并使用监视列表,它会显示 Ð' переданном。所以如果我稍后使用这个文本来显示它会是错误的......
  • 首先 - 你应该找出你想要的编码结果。
  • 您可以将所有内容转储到文件中并在notepad++等文本编辑器中打开,我认为它显示不正确可能是因为Windows支持utf-16而不是utf-8

标签: c utf-8 char codepages


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-11-12
    • 2015-03-07
    • 2013-05-18
    • 2022-12-18
    • 1970-01-01
    • 2014-03-05
    相关资源
    最近更新 更多