2011-04-11 110 views

回答

7

仅仅说“我有一个字符串为wchar_t”是不够的。你还必须知道什么编码字符串的字符在。这是可能是 UTF-16,但你需要明确知道。

这也是不足以说“我想转换为char”。再一次,你必须决定什么编码的字符将被表示。JIS?按住Shift-JIS? EUC? UTF-8?另一种编码?

如果您知道上述两个问题的答案,则可以使用WideCharToMultiByte进行无任何问题的转换。

2

你首先要做的是选择字符串编码,如UTF-8或UTF-16。然后,在您通过libiconv或其他类似的字符串编码库选择的编码中编码您的wchar_t[]字符串。

+0

你好minhee,你能不能简单介绍一下你提供的答案 – Greenhorn 2011-04-11 08:48:21

2

您需要拨打WideCharToMultiByte并传入所需日语多字节编码的代码页编码标识符。查看该功能的MDSN。在Windows上,本地多字节集是CP932,即ShiftJIS上的MS变体。不过,你可能会想让UTF-8发送给需要它的人。

相关问题