将多字节字符转换为UTF-8

将多字节字符转换为UTF-8,utf-8,character-encoding,multibyte,Utf 8,Character Encoding,Multibyte,我的应用程序必须将数据写入由swf文件读取的XML文件。swf希望XML中的数据采用UTF-8编码。我必须将我应用程序中的一些多字节字符(简体中文、日文、韩文等)转换为UTF-8。 是否有任何API调用允许我这样做?我宁愿不使用任何第三方DLL。我需要在Windows和Mac上都这样做,如果可用,我更喜欢任何系统API 谢谢 jbsp72 我必须转换一些多字节 我的应用程序中的字符(中文) 简体、日文、韩文等)至 UTF-8 如果原始字符串是多字节的(中文/阿拉伯语/泰国文/等等),并且需要将其

我的应用程序必须将数据写入由swf文件读取的XML文件。swf希望XML中的数据采用UTF-8编码。我必须将我应用程序中的一些多字节字符(简体中文、日文、韩文等)转换为UTF-8。 是否有任何API调用允许我这样做?我宁愿不使用任何第三方DLL。我需要在Windows和Mac上都这样做,如果可用,我更喜欢任何系统API

谢谢 jbsp72

我必须转换一些多字节 我的应用程序中的字符(中文) 简体、日文、韩文等)至 UTF-8

如果原始字符串是多字节的(中文/阿拉伯语/泰国文/等等),并且需要将其转换为其他多字节(UTF-8),一种方法是先转换为宽字符(UTF-16),然后再转换回多字节

multibyte(chinese/arabic/thai/etc) -> widechar(UTF-16) -> multibyte(UTF-8)
如果原始字符串已经是Unicode(UTF-16)格式,则可以跳过上图中的第一次转换

您可以从中引用代码页

Google Chrome有一些针对Windows、Linux和Mac的字符串转换实现。你可以看到它,也可以看到它。这些文件位于src/base:
+
+
+
+


该代码使用BSD许可证,因此您可以将其用于商业项目。

UTF-8是一种多字节编码(确切地说,是一种可变字节长度编码)。声明您需要从多字节编码转换是不够的。您需要指定源代码是哪种多字节编码?

此外,请指定您需要的环境/语言。