c++本地示例052宽串转换
Posted 周三石
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c++本地示例052宽串转换相关的知识,希望对你有一定的参考价值。
#包含 <本地>
#包含 <工具>
#包含 <代码转换>
// 包装 宽串/宽缓冲转换 所用的绑定本地环境平面的工具
元<类 面>
构 可删面 : 面
{
元<类 ...实参>
可删面(实参&& ...实参) : 面(前向<实参>(实参)...) {}
~可删面() {}
};
整 主()
{
// GB18030 / UCS4 转换,直接使用基于本地环境的平面
// 又 代码转换靠名<符32_t, 符, 多字节状态型> 国标方面型;
// 编译错误: "调用 a 保护 析构器 of 代码转换靠名<> 在 ~转换宽串"
// 转换宽串<国标方面型> 国标到32(新 国标方面型("中文.gb18030"));
// GB18030 / UCS4 转换平面使用拥有公开析构函数的平面
又 可删面<代码转换靠名<符32_t, 符, 多字节状态型>> 国标方面型;
转换宽串<国标方面型> 国标到32(新 国标方面型("中文.gb18030"));
} // 析构函数调用于此
#包含 <io流>
#包含 <串流>
#包含 <本地>
#包含 <代码转换>
整 主()
{
// 包装 统码-8 字符串流于 UCS4 宽缓冲转换 中
串缓冲 变长8缓冲(u8"z\u00df\u6c34\U0001f34c"); // 或 u8"z&sβ;水"
// 或 "\x7a\xc3\x9f\xe6\xb0\xb4\xf0\x9f\x8d\x8c";
宽缓冲转换<代码转换变长8<宽符型>> 转换进(&变长8缓冲);
宽入流 ucs缓冲(&转换进);
输出 << "阅读 从 a 统码-8 串缓冲 通过 宽缓冲转换:\n";
对(宽符型 c; ucs缓冲.取(c); )
输出 << 16进制 << 显示基 << c << '\n';
// 包装具 统码-8 的 输出 于 UCS4 宽缓冲转换 中以输出 UCS4
宽缓冲转换<代码转换变长8<宽符型>> 转换出(输出.读缓冲());
宽出流 出(&转换出);
输出 << "发送 UCS4 数据 到 输出 通过 宽缓冲转换:\n";
出 << L"z\u00df\u6c34\U0001f34c\n";
}
阅读 从 a 统码-8 串缓冲 通过 宽缓冲转换 产生
0x7a
0xdf
0x6c34
0x1f34c
发送 UCS4 数据 到 输出 通过 宽缓冲转换:
z&sβ;水
以上是关于c++本地示例052宽串转换的主要内容,如果未能解决你的问题,请参考以下文章