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

Posted 周三石

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c++本地示例053转换,转换到字节相关的知识,希望对你有一定的参考价值。

#包含 <io流>
#包含 <串>
#包含 <本地>
#包含 <代码转换>
#包含 <io操作>

// 输出用的工具函数
16进制打印(& s)
{
输出 << 16进制 << 置填充('0');
( c : s)
输出 << 置宽(2) << 静转<>(c) << ' ';
输出 << 减少 << '\n';
}

()
{
// 宽字符数据
宽串 宽串 = L"z\u00df\u6c34\U0001f34c"; // 或 L"z&sβ;水"

// 宽到 统码-8
转换宽串<代码转换变长8<宽符型>> 转换1;
串 u8串 = 转换1.至字节(宽串);
输出 << "统码-8 转换 生产 " << u8串.大小() << " 字节:\n";
16进制打印(u8串);

// 宽到 统码-16le
转换宽串<代码转换变长16<宽符型, 0x10f4, 小端>> 转换2;
串 u16串 = 转换2.至字节(宽串);
输出 << "统码-16le 转换 生产 " << u16串.大小() << " 字节:\n";
16进制打印(u16串);
}
统码-8 转换 生产 10 字节:
7a c3 9f e6 b0 b4 f0 9f 8d 8c
统码-16le 转换 生产 10 字节:
7a 00 df 00 34 6c 3c d8 4c df
#包含 <本地>
#包含 <工具>
#包含 <代码转换>

// 为 宽串/宽缓冲 转换 适配绑定本地环境的平面的工具包装器
<>
可删面 :
{
::; // 继承构造函数
~可删面() {}
};

()
{
// 统码-16le / UCS4 转换
转换宽串<
代码转换变长16<符32_t, 0x10f4, 小端>
> u16到32;

// 统码-8 / 宽字符串转换,带定制消息
转换宽串<代码转换变长8<宽符型>> u8至宽("错误!", L"错误!");

// GB18030 / 宽字符串转换平面
可删面<代码转换靠名<宽符型, , 多字节状态型>> F;
转换宽串<F> gb至宽(新 F("中文.gb18030"));
}


以上是关于c++本地示例053转换,转换到字节的主要内容,如果未能解决你的问题,请参考以下文章

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

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

c++本地示例007核对,转换.核对,哈希

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

在C++中,如何把字节数组转换成字符串

C++ 服务示例 - Unicode 转换