ISO/IEC 2022

✍ dations ◷ 2025-10-21 13:46:58 #ISO/IEC 2022

ISO 2022,全称ISO/IEC 2022,由国际标准化组织(ISO)及国际电工委员会(IEC)联合制定,是一个使用7位或8位编码表示各种语言文字的通用技术规范。特别以东亚语言:汉语文字、日语文字或朝鲜文字的编码方法著称。

ISO 2022等同于欧洲标准组织(ECMA)的ECMA-35。中国国标GB 2312、日本工业规格JIS X 0202(旧称JIS C 6228)及韩国工业规格KS X 1004(旧称KS C 5620)均遵从ISO 2022。

早期计算机的字符编码基本上都是6位。所以早期计算机的整形的字长一般是6的倍数,如18位、24位、36位等。1963年公布的ASCII码是第一个得到广泛采用的7位字符编码。这时的通信领域的协议采用了第8位做校验纠错用途。但是,对于计算机内存来说,校验纠错变得不是必要。因此8位字符编码逐渐出现,用来表示比ASCII码更多的字符。为此,1971年公布的ECMA-35标准,用来规定各种7位或8位字符编码应当遵从的共同规则。随后ECMA-35被采纳为ISO 2022.

英语可用7位编码储存,而其他使用拉丁字母、希腊字母、西里尔字母、希伯来字母等的语文,由于只使用数十个字母,传统上均使用8位编码的ISO/IEC 8859标准来表示。但由于汉语、日语及朝鲜语字数众多,无法用单一个8位字符来表达,故需要多于一个字节来代表一个字。于是,ISO 2022就设计出来让汉语、日语及朝鲜语可以使用数个7位编码的字符来示。

ISO 2022用来:

ISO 2022使用“转义符串”(Escape sequence)指出随后的字符属于哪个字符集。这些字符集在ISO登记,并遵循ISO 2022标准规定的模式。转义符串由1个“ESC”字符(0x1B),再由两至三个字符串组成。此标记代表它后面的字符,属于下表字符集的文字。对于一个字符集,如果上下文可以判明是哪种字符集,也可以不通过转义序列来明确指出是哪种字符集。实际上,ISO-8859-1就宣布不需要定义它的转义序列。

ISO 2022用于兼容当时的7比特宽的通信协议/通信设备。对于7比特宽的编码空间,0x00-0x1F保留给控制字符,0x20-0x7F用来表示图形字符(printing/"graphic" characters)。因此,在1个7比特的字符编码空间,图形字符总计为94个(由于空格符占用了0x20码位、Del符占用了0x7F码位)或者96个。对于双字节的7比特编码空间,图形字符可以有94 x 94即8836个。对于三字节的7比特编码空间,图形字符可以有94×94×94即830584个(虽然没有三字节字符集向ISO登记)。1970年代至1980年代,中文、日文、韩文的字符集汉字编码数量基本上在这个范围内。对于双字节编码的字符的每个code point,日文译作区点,中文译作码位;area在中日文均译作“区”,point在日文译作“点”,在中文译作“位”。因此,GB2312及其相关字符集国标,采用了“区位码”。

ISO 2022规定字符集的控制字符可分为两块:C0,C1; 打印(图形)字符分为四块:G0,G1,G2,G3。对于7比特编码, 字节值0x00-0x1F保留给C0控制字符块;字节值0x20-0x7F用于G0, G1, G2, G3字符块。对于单字节编码的字符集,1个打印(图形)字符块可包含94个或96个字符;对于双字节编码的字符集,1个打印(图形)字符块可包含94 x 94个字符。使用控制符的转义序列来表示在G0,G1,G2,G3之间的切换。

对于遵从ISO 2022的8比特编码字符集,也是按照上述7比特编码原则设计的编码方案。这种8比特编码字符集很容易兼容当时的7比特宽的通信协议/通信设备。8比特字符编码时,0x00-0x1F表示C0或称CL区(L是left缩写,因为其在字符表的左侧),0x80-0x9F表示C1或称CR(R是Right缩写,因为其在字符表的右侧)。0x20-0x7F表示G0(称GL区),0xA0-0xFF(称GR区)可表示G1, G2, G3。

ISO-8859-X字符集是特定的把ISO-2022的若干成分组合起来的字符集。这些成分包括:

对于GB 2312,是8比特双字节编码。其汉字编码空间为94 x 94,即有94个区,每个区有94个位(用来编码字符)。实际使用了16-55区编码一级汉字,56-87区编码二级汉字。这些汉字均放在了G1字符块区。这种区位码方案是GB 2312的逻辑设计。其具体的字符编码方案(Character Encoding Scheme):字节值在0x00-0x7F,为单字节表示一个字符,构成了C0、G0区,与ASCII码兼容。因此,GB 2312是单、双字节混合编码。

GBK编码作为简体中文Windows操作系统的缺省的语言locale设置,GBK编码虽然完全向后兼容GB 2312,但GBK突破了ISO 2022中GR区域的字数的94²=8,836个字的限制。GBK编码的第一字节向 81–FE (126个选项,占用了C1区) 、第二字节向 40–FE (191个选项,占用了GL区、C1区) 进行扩展。随后的GB 18030在完全兼容GBK的基础上增加了4字节的编码,如果第二字节的值在0x30-0x3F范围,则随后的两个字节一起组成1个4字节编码的字符。

CNS 11643-1992,至1992年作为双字节编码包含了7个字面、48,027字。其具体的字符编码方案是采用控制字符转义序列,在不同的字面之间切换。

ISO/IEC 2022编码在字符码值与显示的字符之间给出了两层映射。转义序列允许任何大的登记的图形字符集指代于四个工作集之一:即G0到G3,以及更短的控制序列指出被使用"invoked"的工作集以解释流中的字节。

7比特ASCII图形字符的范围(0x20–0x7F),是在字符编码表的左侧,称作"GL"码(表示"graphics left"),"高位ASCII"码的范围(0xA0–0xFF), 被称作"GR"码("graphics right")。

默认, GL码指代G0字符, GR码指代G1字符,但这可被控制码或早先的协议修改:

四个工作集的每个可表示94个字符或94n字符。此外,G1到G3可表示96或96n个字符。当后者被用在GL区域,空格字符与delete字符(码值0x20与0x7F)不可用。

还有一些罕用的特性可切换控制字符集,这是单层查询:the 0x00–0x1F范围是C0控制字符集,0x80–0x9F范围是C1控制字符集,转义序列可以切换不同的选择。要求任何C0字符集包含ESC字符出现在码位0x1B。

在上述SS2与SS3例子中,C1控制字符集中的单个控制字符可被7比特编码用于序列ESC 0x40 (@)ESC 0x5F (_)。额外的控制功能可用于范围ESC 0x60 (`)ESC 0x7E (~)

转义序列指代字符集采取这样的形式ESC , 其中有一个或多个中间的字节来自范围0x20–0x2F, 一个最后的字节来自0x40–0x7F。(范围0x30–0x3F被保留用于私用字节)。 字节辨识字符集类型与被指代的工作集,字节辨识字符集自身。

字节的登记对于不同类型的字符集是独立的。使用ESC ( AESC + A指派的94个字符的图形字符集不相关于使用ESC - AESC / A指派的96个字符的图形字符集。二者也不相干于使用ESC $ ( AESC $ + A指派的94n个字符的字符集,等等。

C0与C1控制字符集也是独立的。C0控制字符集用ESC ! A指代,与用ESC " A指代的控制字符集C1无关。

此外,字节可增加到字节前面以扩展字节范围。这仅用于94个字符的字符集,它的码的形式已经使用了ESC ( !

以ISO 2022标准来编码的字集包括:

相关

  • RaSOsub4/sub硫酸镭是一种无机化合物,化学式为RaSO4,有强放射性。它难溶于水,溶度积为3.66×10-11。硫酸镭可以通过氢氧化镭和硫酸钠反应得到:
  • 吴征镒吴征镒(1916年6月13日-2013年6月20日),原籍安徽歙县,寄籍江苏仪征,出生于江西九江,植物学家,中国科学院昆明植物研究所研究员、名誉所长。吴征镒1955年选聘为中国科学院院士(学部委员
  • 芷江芷江侗族自治县(芷江县)位于湖南省西部,云贵高原东缘。地图坐标为东经109°17'3″-109°54'49″、北纬27°04'12″-27°38'24″。面积2096平方千米,总人口为354,562人(2004年),国内
  • 球面几何学球面几何学是在二维的球面表面上的几何学,也是非欧几何的一个例子。 在平面几何 中,基本的观念是点和线。在球面上,点的观念和定义依旧不变,但线不再是“直线”,而是两点之间最短
  • 拉丁语西班牙语语音对比此页面列出拉丁语及西班牙语在其各自主要发展阶段的语音对比。由于此处并不会展现出由语音变化导致的正写法变迁,因此在现代正字法中某一字母代表的音素并不一定和在历史写法
  • 高能镍碳超级电容器高能镍碳超级电容器,是基于镍碳等新材料的高效率电容,将活性碳材料引入镍氢电池负极,使普通超级电容器与电池结合为一体,它的研制成功实现了中国大陆在纯电动车动力电源研究的突
  • 詹姆士·梅逊詹姆士·梅逊(英语:James Mason,1909年5月15日-1984年7月27日)出生于英国约克郡,剑桥大学建筑系毕业。好莱坞著名影星,常扮演优雅反派角色,以《第七层面纱》打开国际知名度,作为演技
  • 方永祥方永祥(1966年-)福建同安人,中国人民解放军少将。长期在南京军区部队服役,曾任陆军第一集团军某师政委、陆军第一集团军政治部主任。2016年,调任新组建的东部战区陆军政治工作部副
  • 小贝流浪记《小贝流浪记》是由一代童话大师孙友军在1970年代创作的一部童话作品。1999年,由曹小卉先生导演,北京科学教育电影制片厂制作的电影《猫咪小贝》上映。次年,动画《小贝流浪记》
  • 哈桑·巴罗耶夫哈桑·巴罗耶夫(俄语:Хасан Бароев,1982年12月1日-),出生于塔吉克斯坦杜尚别,是俄罗斯摔跤运动员。曾获得2004年雅典奥林匹克运动会男子120公斤级古典式摔跤金牌。2008年夏季奥运因服用了运动禁药而被剥夺银牌。