如何使用c ++将多字节文本字符串(例如简体中文GB 2312)之间的文本转换为UTF8?
答案 0 :(得分:3)
在unix系统上,你最好使用iconv库。
请参阅iconv_open,iconv,iconv_close
当然,您必须知道字符编码(EUC-CN,HZ)。
如果没有在unix系统上,请在操作系统中搜索一些支持,手动进行字符转换很难做到正确。
答案 1 :(得分:2)
WinAPI:MultiByteToWideChar,反之亦然,WideCharToMultiByte。 我可以稍后发布样本。
然而,在应用程序中使用UTF-8相当棘手,更具体地说,使用它。 MultiByteToWideChar函数将字符串转换为UTF-16 (UCS2)。我建议您在内部使用此格式,如果您的程序需要生成此类输出,则只能使用WideCharToMultiByte将其转换为UTF-8。这是在Windows和Windows上进行国际化/ unicode的标准方式。 OS X。