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

上一篇:size_t理解


下一篇:hdu2196 树形dp经典|树的直径