【发布时间】:2012-10-03 01:36:27
【问题描述】:
我的问题很简单,但到目前为止我找不到解决方案:
如何在不使用任何额外库(如 libiconv)的情况下,在 C++ 中将 UTF8 编码的 string 转换为 latin1 编码的 string?
到目前为止,我能找到的每个示例都是针对 latin1 到 UTF8 的转换?
【问题讨论】:
-
UTF8 可以表示 65536 个码位; latin1 (ISO-8859-1) 只能表示256。你想如何处理所有无法转换的字符?
-
@DavidRF 条件“不使用任何额外的库”意味着不使用现成的函数,如给定代码的最后一行
utf8_text.encode('ISO-8859-1', 'replace') -
@Dialectus 是的,但翻译不是复制粘贴 :) 您可以省略此行以便仅获取要转换的字符
-
完全停止使用 Latin1 怎么样?
标签: c++ c utf-8 latin1 string-conversion