有谁能告诉我,要迫使Windows处理大终端UTF-16所需的秘密黑魔法咒语吗?
只需简单地调用WideCharToMultiByte(),就可以将UTF-16 to转换为UTF-8。但是我怎样才能为UTF-16 But工作呢?我已经搜查过了但我找不到任何关于这件事的信息。(我不可能是地球上第一个需要这样做的人.)
显然,大端数字并不是Intel平台固有的,但是Windows必须有一个API来处理这个问题。
发布于 2016-01-14 06:21:01
显然,大端数字并不是Intel平台固有的,但是Windows必须有一个API来处理这个问题。
不是的。它只支持UTF-16 It。要处理UTF-16BE,您必须首先通过交换每个UTF-16编码单元的字节来转换为UTF-16 the。
您应该考虑使用专用的Unicode库,例如ICONV或ICU。都支持UTF-8,UTF-16 and和UTF-16 and.
如果您使用的是C++11,您也可以使用其内置的std::codecvt_utf8_utf16方面在UTF-8和UTF-16 LE/BE之间进行转换。您可以使用std::wstring_convert()或std::wbuffer_convert()函数来执行实际的转换。
https://stackoverflow.com/questions/34749953
复制相似问题