统一码

Article

May 26, 2022

Unicode 是一种编码系统,它为用于编写文本的每个字符分配一个唯一编号,与语言、IT 平台和所使用的程序无关。它由 Unicode Consortium 编译、更新和宣传,Unicode Consortium 是一个由对计算机处理不同语言文本的互操作性感兴趣的公司组成的国际联盟。

历史

起源与发展 Unicode 的产生是为了解决传统字符编码方案的局限性,例如 ISO 8859-1 中定义的字符虽然在不同国家广泛使用,但不同国家之间经常会出现不兼容的情况。许多传统的编码方式有一个共同的问题,那就是它们允许计算机管理双语环境(通常使用拉丁字母及其母语),但不能同时支持多语言环境(指多语言的情况)可以同时混合)。 Unicode 编码包含不同书写风格的字符,如“ɑ/a”、“强/强”、“家/家人/戸”等。然而,关于这个问题一直存在争议汉字多态性鉴定.详见中日韩统一表意文字。在文字处理方面,Unicode 为每个字符而不是字形定义了唯一的代码(即整数)。换句话说,Unicode 对字符(即数字)进行了抽象处理,而将视觉演绎(如字体大小、外观形状、字体形状、样式等)的工作留给了其他软件,例如导航网页或文字处理器。目前,几乎所有的计算机系统都支持基本的拉丁字母表,并且每个系统都支持其他几种编码方法。为了与它们兼容,Unicode 的前 256 个字符是为 ISO 8859-1 定义的字符保留的,以便对现有语言的转换西欧不需要特别考虑;并且大量相同的字符在不同的字符编码中重复出现,旧的复杂编码方式可以直接在Unicode编码之间进行转换,不会丢失任何信息。例如,全格式部分包含主要拉丁字母的全格式,在中文、日文和韩文字形中,这些字符以全格式呈现,而不是常见的半格式。 , 这对垂直文本和等宽文本有重大影响。表示Unicode字符时,通常用“U+”后跟一组十六进制数字表示。在基本多语种计划中:(基本多语种计划中英文全字符。缩写BMP也称为“楼层零”,楼层0)里面,使用四位数字(即2个字节,共16位,如U+4AE0,共支持超过60000个字符);零平面外的字符必须使用五个或六个数字。旧版本的 Unicode 标准使用类似的标记方法,但有一些细微差别:在 Unicode 3.0 中,使用“U-”后跟八位数字,而“U+”必须后跟四位数字。旧版本的 Unicode 标准使用类似的标记方法,但有一些细微差别:在 Unicode 3.0 中,使用“U-”后跟八位数字,而“U+”必须后跟四位数字。旧版本的 Unicode 标准使用类似的标记方法,但有一些细微差别:在 Unicode 3.0 中,使用“U-”后跟八位数字,而“U+”必须后跟四位数字。

代码结构

Unicode 最初被认为是一种 16 位(四个十六进制数字)编码,能够对 65,535 (2 ^ 16 -1) 个字符进行编码。这被认为足以代表世界上所有书面语言中使用的字符。然而,现在趋向于与 ISO/IEC 10646 标准完全一致的 Unicode 标准提供了多达 21 位的编码,并支持可以表示大约一百万个字符的数字代码库。这似乎也足以满足人类历史遗产著作的编码需求,使用各种语言和各种符号系统。截至 2009 年,仅分配了这种可用代码的很小一部分。事实上,17个“计划”是为制定代码而规划的(“planes”,英文),从 00 到 10hex,每个有 65,536 个位置(四个十六进制数字),但目前只分配了前三层和后三层,其中第一个,也称为 BMP,实际上是足以涵盖所有最常用的语言。具体而言,这个数字代码库通过不同的重新编码方案进行了序列化,这允许对最常用的字符使用更紧凑的代码。设想使用 8 位(字节)、16 位(字)和 32 位(双字)单位编码,分别描述为 UTF-8、UTF-16 和 UTF-32。实际上足以涵盖所有最常用的语言。具体而言,这个数字代码库通过不同的重新编码方案进行了序列化,这允许对最常用的字符使用更紧凑的代码。设想使用 8 位(字节)、16 位(字)和 32 位(双字)单位编码,分别描述为 UTF-8、UTF-16 和 UTF-32。实际上足以涵盖所有最常用的语言。具体而言,这个数字代码库通过不同的重新编码方案进行了序列化,这允许对最常用的字符使用更紧凑的代码。设想使用 8 位(字节)、16 位(字)和 32 位(双字)单位编码,分别描述为 UTF-8、UTF-16 和 UTF-32。

基本多语言平面 (BMP)

计划 0,即基本多语言平面(简称“基本多语言平面”)或 BMP,是分配了大部分字符的平面。BMP 包含几乎所有现代语言的字符和大量特殊字符。BMP 中分配的大部分字符代码用于对中文、日文和韩文 (CJK) 代码进行编码。

书写系统代表

Unicode 几乎包括了目前使用的所有书写系统,包括: 除了上面提到的那些,还有属于许多已死语言的字形:最后,Unicode 还包括许多符号,例如数学和音乐符号。

版本历史

近年来,在平均每年超过 1,000 次更改请求之后,几乎每年都会发布一个新版本。 DP 10646 1989(ISO 10646 标准的提案草案,独立于 Unicode) DIS-1 10646 1990(ISO 10646 标准的第一稿,独立于 Unicode) Unicode 1.0.0 1991 年 10 月 Unicode 1.0.1 1992 年 6 月可能与 ISO 10646 标准一致)Unicode 1.1.0 1993 年 6 月(Unicode 和 ISO 首次统一:这两个代码与 ISO 10646-1:1993 标准相同) Unicode 1.1.5 1995 年 6 月 Unicode 2.0.0 七月1996(符合扩展的 ISO 10646 标准) Unicode 2.1.2 1998 年 5 月(其中引入欧元字符:€) Unicode 2.1.5 1998 年 8 月 Unicode 2.1.8 1998 年 12 月 Unicode 2.1.9 1999 年 4 月 Unicode 3.0。1999 年 9 月 0 日(与 ISO 10646-1:2000 标准一致) Unicode 3.0.1 2000 年 8 月 Unicode 3.1.0 2001 年 3 月(与 ISO 10646-2:2001 标准一致) Unicode 3.1.1 2001 年 8 月 02 Unicode23.0 Unicode 4.0.0 2003 年 4 月(符合 ISO 10646:2003 标准) Unicode 4.0.1 2004 年 3 月 Unicode 4.1.0 2005 年 3 月 31 日 Unicode 5.0.0 2006 年 7 月 14 日超过 99,000 个字形 .00285 Unicode .1 Unicode .1 Unicode .1 2009 年 10 月 Unicode 6.0.0 2010 年 10 月 10 日 Unicode 6.1.0 2012 年 1 月 26 日 Unicode 6.2.0 2012 年 9 月 26 日 Unicode 6.3.0 2013 年 9 月 30 日 Unicode 7.0.0 2014 年 6 月 16 日 Unicode 0.170 六月 6 月 26 日2016 Unicode 10.0.0 2017 年 6 月 20 日 Unicode 11.0.0 2018 年 6 月 5 日 Unicode 12.0.0 2019 年 3 月 5 日 Unicode 12.1.0 2019 年 5 月 7 日 Unicode 13.0.0 2020 年 3 月 10 日2000 年 8 月 1 日 Unicode 3.1.0 2001 年 3 月(符合 ISO 10646-2:2001 标准) Unicode 3.1.1 2001 年 8 月 Unicode 3.2.0 2002 年 3 月 Unicode 4.0.0 2003 年 4 月(符合 ISO 106043:.0 Unicode 标准) 2004 年 3 月 1 日 Unicode 4.1.0 2005 年 3 月 31 日 Unicode 5.0.0 2006 年 7 月 14 日超过 99,000 个字形 Unicode 5.1.0 2008 年 4 月 4 日 Unicode 5.2.0 2009 年 10 月 1 日 0 Unicode .6100 Unicode 6.100 0 2012 年 1 月 26 日 Unicode 6.2 .0 2012 年 9 月 26 日 Unicode 6.3.0 2013 年 9 月 30 日 Unicode 7.0.0 2014 年 6 月 16 日 Unicode 8.0.0 2015 年 6 月 17 日 Unicode 9.0.02010 年 6 月 161 年 6 月2017 年 20 月 Unicode 11.0.0 2018 年 6 月 5 日 Unicode 12.0.0 2019 年 3 月 5 日 Unicode 12.1.0 2019 年 5 月 7 日 Unicode 13.0.0 2020 年 3 月 10 日2000 年 8 月 1 日 Unicode 3.1.0 2001 年 3 月(符合 ISO 10646-2:2001 标准) Unicode 3.1.1 2001 年 8 月 Unicode 3.2.0 2002 年 3 月 Unicode 4.0.0 2003 年 4 月(符合 ISO 106043:.0 Unicode 标准) 2004 年 3 月 1 日 Unicode 4.1.0 2005 年 3 月 31 日 Unicode 5.0.0 2006 年 7 月 14 日超过 99,000 个字形 Unicode 5.1.0 2008 年 4 月 4 日 Unicode 5.2.0 2009 年 10 月 1 日 0 Unicode .6100 Unicode 6.100 0 2012 年 1 月 26 日 Unicode 6.2 .0 2012 年 9 月 26 日 Unicode 6.3.0 2013 年 9 月 30 日 Unicode 7.0.0 2014 年 6 月 16 日 Unicode 8.0.0 2015 年 6 月 17 日 Unicode 9.0.02010 年 6 月 161 年 6 月2017 年 20 月 Unicode 11.0.0 2018 年 6 月 5 日 Unicode 12.0.0 2019 年 3 月 5 日 Unicode 12.1.0 2019 年 5 月 7 日 Unicode 13.0.0 2020 年 3 月 10 日2003 年 4 月 0 日(符合 ISO 10646:2003 标准) Unicode 4.0.1 2004 年 3 月 Unicode 4.1.0 2005 年 3 月 31 日 Unicode 5.0.0 2006 年 7 月 14 日超过 99,000 个字形 Unicode 5.1.0209 April Unicode 4.1.0 Unicode 4.1.0 2005 年 3 月 31 日6.0.0 2010 年 10 月 10 日 Unicode 6.1.0 2012 年 1 月 26 日 Unicode 6.2.0 2012 年 9 月 26 日 Unicode 6.3.0 2013 年 9 月 30 日 Unicode 7.0.0 2014 年 6 月 16 日 Unicode 8.0.20 六月 Unicode 8.0.09 2012 年 9 月 26 日0 2016 年 6 月 21 日 Unicode 10.0 .0 2017 年 6 月 20 日 Unicode 11.0.0 2018 年 6 月 5 日 Unicode 12.0.0 2019 年 3 月 5 日 Unicode 12.1.0 2019 年 5 月 7 日 Unicode 13.0.0 2018 年 3 月 201 日2003 年 4 月 0 日(符合 ISO 10646:2003 标准) Unicode 4.0.1 2004 年 3 月 Unicode 4.1.0 2005 年 3 月 31 日 Unicode 5.0.0 2006 年 7 月 14 日超过 99,000 个字形 Unicode 5.1.0209 April Unicode 4.1.0 Unicode 4.1.0 2005 年 3 月 31 日6.0.0 2010 年 10 月 10 日 Unicode 6.1.0 2012 年 1 月 26 日 Unicode 6.2.0 2012 年 9 月 26 日 Unicode 6.3.0 2013 年 9 月 30 日 Unicode 7.0.0 2014 年 6 月 16 日 Unicode 8.0.20 六月 Unicode 8.0.09 2012 年 9 月 26 日0 2016 年 6 月 21 日 Unicode 10.0 .0 2017 年 6 月 20 日 Unicode 11.0.0 2018 年 6 月 5 日 Unicode 12.0.0 2019 年 3 月 5 日 Unicode 12.1.0 2019 年 5 月 7 日 Unicode 13.0.0 2018 年 3 月 201 日0 2012 年 9 月 26 日 Unicode 6.3.0 2013 年 9 月 30 日 Unicode 7.0.0 2014 年 6 月 16 日 Unicode 8.0.0 2015 年 6 月 17 日 Unicode 9.0.0 2016 年 6 月 21 日 Unicode 10.0.0 2017 年 6 月 170 日2018 年 5 月 5 日 Unicode 12.0.0 2019 年 3 月 5 日 Unicode 12.1.0 2019 年 5 月 7 日 Unicode 13.0.0 2020 年 3 月 10 日0 2012 年 9 月 26 日 Unicode 6.3.0 2013 年 9 月 30 日 Unicode 7.0.0 2014 年 6 月 16 日 Unicode 8.0.0 2015 年 6 月 17 日 Unicode 9.0.0 2016 年 6 月 21 日 Unicode 10.0.0 2017 年 6 月 170 日2018 年 5 月 5 日 Unicode 12.0.0 2019 年 3 月 5 日 Unicode 12.1.0 2019 年 5 月 7 日 Unicode 13.0.0 2020 年 3 月 10 日

笔记

相关项目

ASCII 扩展 ASCII 字符集 ConScript Unicode 注册表字节顺​​序(英文字节序) Unicode 数学运算符

其他项目

维基词典包含词典 lemma «Unicode» 维基共享资源包含关于 Unicode 的图像或其他文件

外部链接

什么是统一码?来自 Unicode 站点 (EN) Unicode 数据和 Java 数据的 Unicode Consortium (EN) 索引,位于 fileformat.info。2018 年 5 月 20 日检索。 (DE, EN) DecodeUnicode - Unicode WIKI 98.884 gifs Simple HowTo on Unicode 和 UTF-8,在 linkas.it。Joel 谈软件:每个软件开发人员绝对、肯定必须了解 Unicode 和字符集 Emoji 及其 Unicode 的绝对最低要求