我正在尝试将 char
数组转换为 unicode-escapedchar
数组。
假设我有一个字符串“C:/İmüp”。
如何将其转换为 C:/\u0130m\u00fcp 作为 char
数组或 const char
?
(我通过 ExpandEnvironmentStrings() 将“C:/Hello İmüp”作为字符数组获取,然后我需要将其写入一个带有 unicode 转义符的文件)
我尝试了类型转换、std::stringstream
和 ASCII 表,查找了有关 C++ json 编码器的示例,但是我无法让它工作
最佳答案
试试这个:
std::wstring env;
// fill env with data from ExpandEnvironmentStringsW()...
std::stringstream ss;
for (std::wstring::iterator iter = env.begin(); iter != env.end(); ++iter)
{
if (*iter <= 127)
ss << (char) *iter;
else
ss << "\\u" << std::hex << std::setfill('0') << std::setw(4) << (int)*iter;
}
std::string str = ss.str();
// use str as needed...
关于c++ - 如何将字符串转换为其 unicode 转义符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21764556/