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宽串转换的主要内容,如果未能解决你的问题,请参考以下文章

c++本地示例049用面,转换宽缓冲

c++本地示例008核对,核对比较

c++本地示例023本地,本地标识,本地转换

c++本地示例053转换,转换到字节

c++本地示例048时间,按名放,放

c++本地022领域,是标点,是16进制数