c++ 各种类型字符串转换
2024-09-30 02:31:36
typedef std::string u8string; u8string To_UTF8(const std::u16string &s)
{
std::wstring_convert<std::codecvt_utf8_utf16<char16_t>, char16_t> conv;
return conv.to_bytes(s);
} u8string To_UTF8(const std::u32string &s)
{
std::wstring_convert<std::codecvt_utf8<char32_t>, char32_t> conv;
return conv.to_bytes(s);
} std::u16string To_UTF16(const u8string &s)
{
std::wstring_convert<std::codecvt_utf8_utf16<char16_t>, char16_t> conv;
return conv.from_bytes(s);
} std::u16string To_UTF16(const std::u32string &s)
{
std::wstring_convert<std::codecvt_utf16<char32_t>, char32_t> conv;
std::string bytes = conv.to_bytes(s);
return std::u16string(reinterpret_cast<const char16_t*>(bytes.c_str()), bytes.length()/sizeof(char16_t));
} std::u32string To_UTF32(const u8string &s)
{
std::wstring_convert<codecvt_utf8<char32_t>, char32_t> conv;
return conv.from_bytes(s);
} std::u32string To_UTF32(const std::u16string &s)
{
const char16_t *pData = s.c_str();
std::wstring_convert<std::codecvt_utf16<char32_t>, char32_t> conv;
return conv.from_bytes(reinterpret_cast<const char*>(pData), reinterpret_cast<const char*>(pData+s.length()));
}
最新文章
- FAST特征点检测features2D
- Elasticsearch 连接查询
- javaweb学习总结(十四)——JSP原理
- mysql自动备份数据库
- Android中的BroadCast静态注册与动态注册
- Kendo Web UI Grid里时间格式转换
- 【HDU1166】敌兵布阵(树状数组或线段树)
- CodeForces 711D Directed Roads
- cmd获取python返回值
- 08_java基础知识——方法重载
- html 三列布局(两列自适应,一列固定宽度)
- Core Graphices 设置渐变
- spring-mvc.xml与spring-mybatis.xml配置文件中命名空间问题
- OpenCV——图像的载入、显示、输出到文件和滑动条、鼠标操作
- PAT B1013 数素数 (20 分)
- opencv core组件进阶
- MT【180】齐次化+换元
- 快速打开 Mac OS X 隐藏的用户资源库文件夹
- Swift中的闭包(Closure)[转]
- 解题:SCOI 2010 序列操作