c-将unicode转换为char

如何在embarcadero c中将Unicode字符串转换为char *或char * const?

解决方法:

“ Unicode字符串”确实还不够具体,无法知道您的源数据是什么,但是您可能的意思是“ UTF-16字符串存储为wchar_t数组”,因为这是大多数不了解正确术语的人所使用的.

尽管“ embarcadero”有一些约定,但“ char *”也不足以知道您要定位的目标.除非另有说明,否则我将假设您需要UTF-8数据.

我也将我的例子限制在VS2010中

// your "Unicode" string
wchar_t const * utf16_string = L"Hello, World!";

// #include <codecvt>
std::wstring_convert<std::codecvt_utf8_utf16<wchar_t>,wchar_t> convert;

std::string utf8_string = convert.to_bytes(utf16_string);

假设wchar_t字符串与Windows一样是UTF-16,否则是可移植代码.

上一篇:乱序双发射 和 GHB的分支预测


下一篇:Ant Design Pro V5版本去掉国际化