C++中的Unicode编码:wchar, UTF-8,UTF-16,UTF-32

C++ C11标准引入了对Unicode的支持,通过wchar_t、char16_t和char32_t处理不同编码。在Ubuntu x64环境下,它们的大小分别为1、4、2字节。char类型适用于存储UTF-8,而wchar_t在不同系统中宽度不同,char16_t用于UTF-16,char32_t对应UTF-32。字符串表示使用L、u8、u、U前缀,并有对应的std::wstring、std::u16string和std::u32string,但未重载流操作符。
摘要由CSDN通过智能技术生成

C++在C11标准中加入了对Unicode编码的支持,新增了wchar_t、char16_t、char32_t内置数据类型。

    cout << sizeof(char) << endl;
    cout << sizeof(wchar_t) << endl;
    cout << sizeof(char16_t) << endl;
    cout << sizeof(char32_t) << endl;

经以上代码测试,这三个数据类型的大小为:1、4、2、4字节(Ubuntu X64环境下);

char:标准ASCII字符,大小为1字节(8bit),可以存储UTF-8编码字符
wchar_t:变宽字符,大小根据操作系统环境而定(据我所知

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值