gpt4 book ai didi

c++ - utf8和utf16的转换

转载 作者:行者123 更新时间:2023-11-30 03:11:03 32 4
gpt4 key购买 nike

我有一个wchar_t字符串,比如L"hao123--我的上网主页",我可以把它转成utf8

编码,输出字符串为"hao123锛嶏紞鎴戠殑涓婄绣婚〉",但最后,我必须写这个

字符串到一个纯文本文件,它的格式是utf16(我从别人那里知道的),“hao123\uFF0D\uFF0D\u6211\u7684\u4E0A\u7F51\u4E3B\u9875”。

因为我必须将它保存在C++ std string中,然后将它写入一个文件,我该如何转换

在字符或 C++ 标准字符串中,"hao123锛嶏紞鎴戦涏婰绣婚>"到 "hao123\uFF0D\uFF0D\u6211\u7684\u4E0A\u7F51\u4E3B\u9875"?

谁能给我一些提示?

提前致谢!

最佳答案

在 C++11 中,这可以通过以下方式完成:

#include <locale>
#include <codecvt>
#include <string>
#include <iostream>

int main()
{
std::wstring_convert<std::codecvt_utf16<wchar_t> > myconv;
std::wstring ws(L"hao123--\x6211\x7684\x4E0A\x7F51\x4E3B\x9875");
std::string bs = myconv.to_bytes(ws);
std::cout << bs << '\n';
}

关于c++ - utf8和utf16的转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2673953/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com