【发布时间】:2009-12-27 01:43:43
【问题描述】:
我正在编写一个小型应用程序,在其中我从控制台读取一些文本,然后将其存储在经典的 char* 字符串中。
碰巧我需要将它传递给一个只需要 UTF-8 编码字符串的库。由于 Windows 控制台使用本地编码,我需要将本地编码转换为 UTF-8。
如果我没记错的话,我可以使用 MultiByteToWideChar(..) 编码为 UTF-16,然后使用 WideCharToMultiByte(..) 转换为 UTF-8。
但是我想知道是否有一种方法可以在不使用任何外部库的情况下直接从本地编码转换为 UTF-8,因为转换为 wchar 的想法只是为了能够转换回 char(utf-8 编码但仍然)对我来说似乎有点奇怪。
【问题讨论】:
标签: c++ windows visual-studio unicode visual-c++