我需要知道UTF-16中超过四个字节的字符是什么以及UTF-16中的编码范围是多少?

问题描述 投票:0回答:1

我需要知道UTF-16中超过四个字节的字符是什么以及UTF-16中的代码范围是多少?

我在网上寻找过,但没有成功,有人有一些材料可以分享吗?

提前非常感谢您

character-encoding special-characters utf-16
1个回答
0
投票

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 个字节进行编码的规则..

© www.soinside.com 2019 - 2024. All rights reserved.