我知道以下Unicode编码:
是否有更多Unicode编码?并且所有的Unicode编码是否仍在使用,或者其中一些现在已经过时了?
答案 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标准中描述)。