我需要知道UTF-16中超过四个字节的字符是什么以及UTF-16中的代码范围是多少?
我在网上寻找过,但没有成功,有人有一些材料可以分享吗?
提前非常感谢您
Unicode 定义了一组代码点。每个代码点都有一个关联的图形表示(即我们所知的字符)。代码点值范围为 0 到 0x10ffff。
UTF-8 和 UTF-16 是表示这些代码点的方法。 UTF-8 是一种可变长度表示形式。 UTF-16 是一种固定长度表示形式,占用 16 位。
您可能已经猜到了,16 位数字不能表示大于 0xffff 的值。出现了所谓的“代理”,用于对 0x100000 和 0x10ffff 之间的代码点进行编码。这导致 0x100000 和 0x10ffff 之间的代码点使用两个 16 位来编码它们的值。
例如,字母
A
的代码点是 0x41
,其 UTF-16 表示形式是 0x0041
。
例如,
𐀀
的代码点是0x100000
,其UTF-16表示是0xD800DC00
。
在任何情况下,UTF-16 编码都没有定义会导致任何代码点使用超过 4 个字节进行编码的规则..