有多少种Unicode编码,它们都还在使用吗?

有多少种Unicode编码,它们都还在使用吗?,unicode,encoding,character-encoding,Unicode,Encoding,Character Encoding,我知道以下Unicode编码: UTF-7 UTF-8 UTF-16 UTF-32 UCS-2 还有更多的Unicode编码吗?所有的Unicode编码是否仍在使用,或者其中一些现在已经过时了?有一个Unicode(确实有不同的版本) 您可以定义任何类型的编码,这并不重要 官方编码形式有UTF-16LE、UTF-16BE、UTF-32LE、UTF-32BE。同样,在Unicode标准中,有UTF-8、UTF-16和UTF-32的描述 UCS2是旧的unicode编码(相当于UTF-16,但只

我知道以下Unicode编码:

  • UTF-7
  • UTF-8
  • UTF-16
  • UTF-32
  • UCS-2
还有更多的Unicode编码吗?所有的Unicode编码是否仍在使用,或者其中一些现在已经过时了?

有一个Unicode(确实有不同的版本)

您可以定义任何类型的编码,这并不重要

官方编码形式有UTF-16LE、UTF-16BE、UTF-32LE、UTF-32BE。同样,在Unicode标准中,有UTF-8、UTF-16和UTF-32的描述

UCS2是旧的unicode编码(相当于UTF-16,但只支持<65536的代码),因此现在它已经过时(被UTF16取代,UTF16能够编码所有(也是更新的)unicode代码点)。UTF-7也已过时

还有愚人节

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

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

Mysql使用UTF8MB3和UTF8MB4,因此它指定了UFT-8以及每个SQL字符保留的字节数(3或4)

Python3使用(在内部,您可能从未见过)混合编码:UTF-8、UTF-16或UTF-32,根据整个字符串中较大的代码(“编码”与字符串长度一起保存,在“真字符串”之外)。这也是一种编码


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

根据Python 3.3+的要求,基于字符串的最高效存储,在内部使用Latin1、UCS-2或UCS-4。在此之前,UTF-16LE在内部用于“窄”构建,UTF-32LE用于“宽”构建。该PEP消除了构建差异。@MarkTolonen:UCS-2和UCS-4与UTF-16和UTF-32(相对代码点范围)相同,但您是对的,我应该使用UCS符号(即“官方”)。对于拉丁语1,我仍然应该检查/思考:在pep中有ascii字符串(而不是17,我肯定你指的是21位)。@TomBlodget:是的,17个平面,所以是21位。谢谢你注意到了。