Command Palette

Search for a command to run...

文档 / 运维 / 编码格式

编码格式

特性 UTF-8 UTF-16 UTF-32
基本单位 8 位(1 字节) 16 位(2 字节) 32 位(4 字节)
字符字节数 1 到 4 字节 2 或 4 字节 固定 4 字节
字节序 无字节序问题(通常无 BOM) 有字节序问题(UTF-16BE / UTF-16LE),通常有 BOM 有字节序问题(UTF-32BE / UTF-32LE),通常有 BOM
空间效率 对英文最节省,对中文也较节省 对常用亚洲文字可能较节省 最低效,除非全部是 4 字节字符
处理复杂性 变长,处理逻辑相对复杂 BMP 内字符固定,辅助平面变长,略复杂 固定长度,处理最简单
主要应用 Web、Linux/Unix、文件、网络传输 Windows API、Java 内部、JavaScript 极少用于存储/传输,主要用于内部处理

UTF-8

变长的 Unicode 字符编码,8 位(1 字节)为基本单位,一个字符可以占用 1 到 4 个字节。

UTF8mb3

MySQL 数据库中的一种 UTF-8 实现,它最多支持每个字符使用 3 个字节。

在 MySQL 5.5.3 版本之前,MySQL 内部实现的 utf8 字符集并没有完全遵循 Unicode 联盟定义的标准 UTF-8。

不支持:

  • 表情符号 (emoji)
  • 许多不常用的汉字和一些历史文字
  • 一些复杂的数学符号和特殊符号

UTF8mb4

MySQL 数据库中对完整 UTF-8 标准的实现。

UTF-16

变长的 Unicode 字符编码,16 位(2 字节)为基本单位,一个字符可以占用 2 个或 4 个字节。

UTF-32

固定长度的 Unicode 字符编码,每个字符都占用 32 位(4 字节)。

ISO 8859-1

占用一个字节,不支持汉字等其他字符。

GB2312(国标)

汉字占用2个字节,非汉字字符(如字母、数字、标点符号等)占用1个字节主要覆盖简体汉字,(对汉字支持不够全面)。

GBK(国标扩展)

兼容GB2312,所需字节数与GB2312一样,GB2312中的字符在GBK中有相同的编码,相对于GB2312添加了繁体字,生僻字,东亚其他文字的支持。

GB18030

基本覆盖了中国所有的汉字(包括少数民族文字)和常用字符需求。