C/C++教程

char,wchar_t,char8_t,char16_t,char32_t

本文主要是介绍char,wchar_t,char8_t,char16_t,char32_t,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

        char:8位1字节可以存储ASCII字符集和ISO-8859字符集,并可以采用多字符存储Shift-JIS和UTF-8编码的Unicode字符集

        wchar_t:宽字符,文档中解释为,大到可以支持所有字符编码。在windows上占16位2字节采用UTF-16编码,在其他支持Unicode的系统上占32位4字节


在C++11引入char16_t和char32_t,在C++20中引入char8_t

        char16_t:为UTF-16定义的字符表示类型        无符号16位        前缀u

        char32_t:为UTF-32定义的字符表示类型        无符号32位        前缀U

在进行字符串编码时,如果确定了字符长度和符号特征将很有帮助,因此C++11增加了这两种类型

(在不同编译器中前缀可能不同,visual studio中前缀为L)

        char8_t:为UTF-8定义的字符表示类型

(根据在网上搜索到的,老代码如果启用新的char8_t将会出现很多兼容性问题)

具体可以看https://github.com/tahonermann/char8_t-remediation

这篇关于char,wchar_t,char8_t,char16_t,char32_t的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!