我需要使用 incov 库将 ASCII 文本文件转换为 UTF-8。我正在使用 Visual Studio 2008。有人可以指导如何做这种事情。试图用谷歌搜索它,但不明白从哪里获取库文件以及如何使用它们。
3 回答
将 ASCII 转换为 UTF-8 的最简单方法是strcpy
或memcpy
...
如果你有真正的 ISO-646 或'plain old ASCII'的文本,它已经是 UTF-8。
MultiByteToWideChar
事实上,如果它是使用所有 256 个字节值的其他编码,您会发现调用获取 UTF-16 然后调用WideCharToMultiByte
获取 UTF-8要容易得多。
您将需要一个临时缓冲区wchar_t
来存储中间 UTF-16 结果。无论编译器版本、设置或运行时如何,这都有效,这些是 Win32 API,而不是语言运行时 API。
MacRoman 是代码页 10000,因此您绝对可以这样处理。看:
http://msdn.microsoft.com/en-us/library/ee719641(v=prot.10).aspx
您可能还会发现 ICU4C 比 iconv 更容易在 Windows 上工作。
Your question is a bit misleading as Mac Roman is not the same as ASCII.
The instructions for download and installation of LibIconv for Windows can be found here