作品投稿
帮助中心

字体百科:什么是Unicode?

字库教程 字体设计

Unicode,全称为统一码、万国码、单一码,是一种在计算机上使用的字符编码。

起源与发展

Unicode编码的历史可以追溯到20世纪60年代,当时计算机科学家们意识到不同计算机系统使用不同的字符编码方式,导致文本和数据在不同系统间传输时出现混乱和错误。为解决这一问题,国际组织开始致力于制定统一的字符编码标准。1987年,Unicode联盟成立,开始制定Unicode编码标准。正式发布: Unicode标准于1990年开始研发, 1994年正式公布。随着计算机和互联网的发展, Unicode编码逐渐成为全球通用的字符编码标准。

编码原理与特点

字符集庞大:Unicode定义了一个庞大的字符集,包括了绝大部分的语言中所使用的字符、符号、标点以及各种专用符号。

唯一编码:Unicode采用了一种独立于平台和语言的编码方案,每个字符都分配了一个唯一的编号,称为码点(Code Point)。Unicode的码点表示为十六进制形式,通常前面加上“U+”前缀,例如U+0041表示拉丁字母“A”的码点。

多种编码方式:由于Unicode字符集非常庞大,不能直接用一个字节来表示所有的字符,因此引入了不同的编码方案来实现Unicode字符的存储和传输。常用的编码方案包括UTF-8、UTF-16和UTF-32。

UTF-8:一种变长编码方式,可用1至4个字节来表示一个Unicode字符。对于ASCII字符,UTF-8使用1个字节表示,与ASCII编码兼容,保证了向后兼容性。UTF-8是目前最常用的字符编码方式之一,广泛应用于各种计算机系统、操作系统、编程语言和互联网协议中。

UTF-16:一种定长或变长的编码方式,最常见的是使用2个字节表示一个Unicode字符。对于BMP(基本多文种平面)中的字符,UTF-16使用2个字节表示,而辅助平面中的字符则需要4个字节(通过代理对机制)来表示。UTF-16是一些编程环境如Java和.NET的首选内部编码。

UTF-32:一种定长编码方式,每个Unicode字符使用4个字节来表示,无论字符是否在BMP中。UTF-32简化了字符处理的复杂度,但因为其占用空间较大,在网络传输等场景较少使用。

该文章由造字侠联盟整理发布