我们可以将UnicodeUTF-32
值称为代码点,尽管我认为这也是错误的,因为单个代理本身就是一个代码点。UTF-8 可以称为多字节或多字节。但是UTF-16
和呢UCS-2
?它们不完全是多字节,因为它们处理 2 个字节,我认为多字更像是一种 MS 命名方案。
什么是更准确的名称来描述UTF-32
可以由字节组成的代码点,如 inUTF-8
和单词,如 in UTF-16
?
我们可以将UnicodeUTF-32
值称为代码点,尽管我认为这也是错误的,因为单个代理本身就是一个代码点。UTF-8 可以称为多字节或多字节。但是UTF-16
和呢UCS-2
?它们不完全是多字节,因为它们处理 2 个字节,我认为多字更像是一种 MS 命名方案。
什么是更准确的名称来描述UTF-32
可以由字节组成的代码点,如 inUTF-8
和单词,如 in UTF-16
?
我相信您正在寻找的术语是“代码单元”。
代码点只是可以分配字符集中字符的整数值。
代码单元是在序列中用于表示编码文本的固定宽度整数表示。UTF-8、UTF-16 和 UTF-32 都是编码,分别使用 8、16 和 32 位代码单元。
UTF-32 在这三者中是独一无二的,因为它的代码单元值始终是所表示的 Unicode 数据的代码点值。
'multi-byte' 可以适当地用于参考 UTF-16。(并且 'Unicode' 可以用来指代 UTF-8;微软对该术语的使用在这两个方面都具有误导性。)
单个代理本身就是一个代码点。
Unicode 将 [U+D800-U+DFFF] 范围内的代码点分类为代理项。然而,这些代码点从来没有被这样使用。它们是保留的,不能使用,因为 UTF-16 不能表示此范围内的代码点;为了表示这样的代码点,UTF-16 将使用 [0xD800-0xDFFF] 范围内的代码单元,但是 UTF-16 使用此范围内的代码单元值来表示高于 U+FFFF 的代码点,因此不能使用它们来表示代码[U+D800-U+DFFF] 范围内的点。