在CPP参考文档中,
我注意到了 char
字符类型足够大,可以表示任何UTF-8八位代码单元(自C ++ 14起)
和为 char8_t
UTF-8字符表示形式的类型,必须足够大以表示任何UTF-8代码单元(8位)
这是否意味着两者是同一类型?还是char8_t有其他功能?
我一直在阅读链接作为这个问题,当然这个问题是关于char8_t在 C++20 中为即将到来的“utf8”字符类型及其相应的字符串类型做准备的问题,并且可以说,在某种程度上,是时候了。还有就是一团糟。
请随时纠正我的错误:
# encoding:...元数据),也无法将其编译成什么标准(如 say #!/bin/env g++ -std=c++14)。u16"text"和u32"text"相关的 char 类型来生成 UTF16 和 UTF32 编码的文本,但没有提供字符串或流工具来处理它们,所以它们基本上没用。u8"text"用于生成 UTF8 编码的字符串......但它甚至没有引入正确的 UTF8 字符类型或字符串类型(这char8_t就是 C++20 中的意图?),所以它甚至比以上。char8_t是终于出台,它杀死很多原打算是有效的,到目前为止,一些调控措施的要求包括代码完全禁用char8_t行为。<random>)来检查、转换(在同一字符串内)或转换(跨字符串类型复制)C++ 中的文本编码。甚至 codecvt 似乎也已被删除。鉴于上述所有情况,我有一些关于为什么我们处于这种奇怪状态以及它是否会变得更好的问题。从历史上看,Unicode 支持一直是 C++ 的最低点之一。
同样,我想知道整个概念的穷人模拟有多大用处(免责声明:我是cxxomfort …