有多少Unicode编码,并且所有这些编码仍然在使用?

时间:2018-04-26 12:35:44

标签: unicode encoding character-encoding

我知道以下Unicode编码:

  • UTF-7
  • UTF-8
  • UTF-16
  • UTF-32
  • UCS-2

是否有更多Unicode编码?并且所有的Unicode编码是否仍在使用,或者其中一些现在已经过时了?

1 个答案:

答案 0 :(得分:1)

有一个Unicode(实际上有不同的版本)。

您可以定义任何类型的编码,这无关紧要。

有UTF-16LE,UTF-16BE,UTF-32LE,UTF-32BE作为官方编码形式。也正式,因此在Unicode标准中,您有UTF-8,UTF-16和UTF-32的描述。

UCS2是旧的unicode编码(等于UTF-16,但只支持代码< 65536),所以现在它已经过时了(取而代之的是UTF16,它能够编码所有(也是较新的)unicode代码点)。 UTF-7也已过时。

还有愚人节UTF-9 and UTF-18

某些应用程序具有UTF8-sig(带有初始BOM的UTF-8)。

在邮件上,您可能会使用UTF8 + BASE64或其他一些双重编码。

Mysql使用UTF8MB3和UTF8MB4,因此它指定了UFT-8,但也指定了每个SQL CHAR要保留的字节数(3或4)。

Python3使用(在内部,您可能永远不会看到它)混合编码:UTF-8,UTF-16或UTF-32根据整个字符串中较大的代码(并且“encoding”与字符串一起保存长度,在“真正的字符串”之外)。所以这也是一种编码。

我们有21位来描述任何unicode代码点。然后我们可以自由选择任何编码(以我们可以回到原始代码点的方式)。 UTF-8,UTF-16和UTF-32是最常见的(并在Unicode标准中描述)。