如何使用 c++ 将多字节文本字符串(例如简体中文 GB 2312)之间的文本转换为 UTF8?
问问题
2896 次
2 回答
3
在 unix 系统上,您最好使用 iconv 库。
当然,您必须知道字符编码(EUC-CN,HZ)。
如果不是在 unix 系统上,请在操作系统中搜索一些支持,手动进行字符转换很难正确。
于 2008-10-21T09:46:13.070 回答
2
WinAPI:MultiByteToWideChar,反之亦然,WideCharToMultiByte。我可以稍后发布样本。
然而,UTF-8 在应用程序中的表示,更具体地说,在使用方面相当棘手。MultiByteToWideChar 函数将字符串转换为UTF-16 (UCS2)。我建议你在你的软件内部使用这种格式,并且只有在你的程序需要产生这样的输出时才使用 WideCharToMultiByte 将其转换为 UTF-8。这是在 Windows 和 OS X 上进行国际化/unicode 的标准方式。
于 2008-10-21T09:50:14.200 回答