汉字编码一般分为哪几类

爱生
预计阅读时长 13 分钟
位置: 首页 生活常识 正文

什么是汉字编码?

每天,我们都窝在格子间里噼里啪啦敲代码敲到脱发,对代码我们是再熟悉不过的老朋友了。但不知道小伙伴们有没有想过这样一个问题:那些让我们“英年早秃”的代码,到底是怎么来的呢?今天,丽斯老师就带大家看看,这个让我们爱恨两难的“老朋友”究竟是何方神圣。

什么是编码?编码,是信息从一种形式或格式转换为另一种形式的过程,简单来讲就是语言的翻译过程。

汉字编码一般分为哪几类

我们都知道计算机使用的是机器语言即二进制码,相信大部分人都无法流畅的阅读二进制码。于是为了能够让人类更好的理解计算机输出的结果就需要将机器语言转换为自然语言。比如英语、俄语和中文等。这看似简单的语言转换过程,随着计算机的普及,与互联网化对语言字符的编码冲击也越来越大。

编码规范的调整也伴随着整个计算机发展历史在逐步完善,甚至“愈演愈烈”。现代编码模型为了能够更精确的描述在编码过程中各个产物的归属以便正确的描述产物所发挥的功能。于是多事之人将现代的编码整理为一套可以说明的模型而且分为五层之多。

现代编码模型之分层:抽象字符表是一个系统支持的所有抽象字符的集合。简单来说就是该层规范要确定一个系统能够包含的字符和字符形式。比如Windows支持中文,那么它的抽象字符表一定有中文字符集合而且也适配不同编码方式指定具体是何字符。

编码字符集:是将字符集中每个字符映射到1个坐标或者表示为1个非负整数。字符集及码位映射称为编码字符集。例如,在一个给定的字符表中,表示大写拉丁字母“A”的字符被赋予整数65、字符“B”是66,如此继续下去。

简单来说这就是一个映射关系表,将一串码值映射到抽象字符表里的特定字符。字符编码表:该层也称为”storage format”。对于一个包含几乎全球语言的字符集。比如Unicode字符集最多可以2的31次方个字符,用4个字节来存储一个。

但是真的有必要在时时刻刻都使用4个字节来记录一个字符吗?很显然不是这样。比如拉丁字母“A”实际上需要二进制码01000001一个字节就可以表示。于是需要一种类似于压缩方式的方法,来尽量用最少空间存储不同种类字符的方式比如后面会提到的UTF。所以这一层主要是描述字符编码所能采用的编码格式。

字符编码方案:也称作”serialization format”,将定长的整型值映射到8位字节序列,以便编码后的数据的文件存储或网络传输。传输编码语法:用于处理上一层次的字符编码方案,提供的字节序列。一般其功能包括两种:一种是把字节序列的值映射到一套更受限制的值域内,以满足传输环境的限制,例如Email传输时 base64或者quoted-printable,都是把8位的字节编码为7位长的数据;另一种是压缩字节序列的值,如 LZW 或者 行程长度编码等无损压缩技术。我们常用的编码ASCII:ASCII的发音发音是:[/ˈæski/]) 。

American Standard Code for Inform-ation Interchange美国信息交换标准代码)是基于拉丁字母的一套计算机编码系统。它主要用于显示现代英语,而其扩展版本 EASCII 则可以部分支持其他西欧语言,并等同于国际标准ISO/IEC 646]。ASCII编码由1个字节8bit来标识字符编码表映射关系。

如果按字节来算最多支持256个字符映射,但是由于最高位始终为0,支持的字符更少了。下图为编码表↓从图中可以看到,如果使用ASCII码表,将二进制高四位低四位 对应ASCII码表就得到了A字符。如果要得到I LOVE Y,计算机只需要得到二级制0100100100100000010011000100111101010110010001010010000001011001。

ASCII码所对应的所有字符高四位首位都为0。所以ASCII码成功的用7个比特位就完成了计算机语言转换为自然语言的壮举。这看起来很令人振奋,美国人天真的以为IPv4的最大数255.255.255.255总计4,294,967,296个地址就能覆盖全球的网络设备。但是,当其他国家的语言比如中文、日文和阿拉伯文需要用计算机显示的时候……就完全无法使用ASCII码如此少量的编码映射方式。

于是,技术革新开始了。GB2312:1974年8月,中国开始了748工程,包括了用计算机来处理中文字,展开了各种研究工作。后来到1980年公布了 GB 2312-80汉字编码的国家标准。

GB 2312标准共收录6763个汉字 ,其中一级汉字3755个, 二级汉字3008个;同时收录了包括 拉丁字母、 希腊字母、 日文、平假名及片假名字母、 俄语在内的682个字符。看起来GB2312已经很牛逼了,使用2个字节作为编码字符集的空间。但是6763个汉字是真的不够用啊。GBK:前文的GB2312我们已经了解了,那么,对于我们博大精深的汉语言文化,只有6763个字怎么够?于是GBK中在保证不和GB2312、ASCII冲突的前提下,也用每个字占据2字节的方式又编码了许多汉字。

经过GBK编码后,可以表示的汉字达到了20902个,另有984个汉语标点符号、部首等。值得注意的是这20902个汉字还包含了繁体字。GB18030:然而,GBK的两万多字也已经无法满足我们的需求了。

还有更多可能你自己从来没见过的汉字需要编码。这时候显然只用2字节表示一个字已经不够用了�。

汉字编码是什么?

计算机中汉字的表示也是用二进制编码,同样是人为编码的。根据应用目的的不同,汉字编码分为外码、交换码、机内码和字形码。

1.外码外码也叫输入码,是用来将汉字输入到计算机中的一组键盘符号。

常用的输入码有拼音码、五笔字型码、自然码、表形码、认知码、区位码和电报码等,一种好的编码应有编码规则简单、易学好记、操作方便、重码率低、输入速度快等优点,每个人可根据自己的需要进行选择。2.交换码(国标码)计算机内部处理的信息,都是用二进制代码表示的,汉字也不例外。而二进制代码使用起来是不方便的,于是需要采用信息交换码。中国标准总局1981年制定了中华人民共和国国家标准GB2312--80《信息交换用汉字编码字符集--基本集》,即国标码。

区位码是国标码的另一种表现形式,把国标GB2312--80中的汉字、图形符号组成一个94×94的方阵,分为94个“区”,每区包含94个“位”,其中“区”的序号由01至94,“位”的序号也是从01至94。94个区中位置总数=94×94=8836个,其中7445个汉字和图形字符中的每一个占一个位置后,还剩下1391个空位,这1391个位置空下来保留备用。3.机内码根据国标码的规定,每一个汉字都有了确定的二进制代码,在微机内部汉字代码都用机内码,在磁盘上记录汉字代码也使用机内码。

4.汉字的字形码字形码是汉字的输出码,输出汉字时都采用图形方式,无论汉字的笔画多少,每个汉字都可以写在同样大小的方块中。通常用16×16点阵来显示汉字。5.汉字地址码汉字地址码是指汉字库中存储汉字字形信息的逻辑地址码。

它与汉字内码有着简单的对应关系,以简化内码到地址码的转换。4 五种类型 编辑据粗略统计,现有400多种编码方案,其中上机通过试验的和已被采用作为输入方式的也有数十种之多。归纳起来,不外5种类型:①整字输入法:前一阶段,一般是将三四千个常用汉字排列在一个具有三四百个键位的大键盘上。

大多是将这些汉字按XY坐标排列在一张字表上,通常叫“字表法”,或“笔触字表法”。比如,X25行和Y90列交叉的字为“国”,当电笔点到字表上的“国”字时,机器自动将该字的代码2590输入。键盘上或字表中字按部首或按音序或按字义联想而排列。不常用的字作为盘外字或表外字,另行编码处理。

②字形分解法:将汉字的形体分解成笔画或部件,按一定顺序输进机器。笔画一般分成8种:横一、竖、撇、点、折、弯、叉十、方。部件一般归纳出一二百个。由于一般键盘上只有42个键,容纳不下这么多部件,因而有人设计中键盘,也有人利用部件形体上的相似点或出现概率的不同,而把100多个部件分布在26个字母键上。

汉字编码一般分为哪几类

汉字编码分为如下几类汉字输入码,简称外码,其作用是将汉字信息输入到计算机内部;汉字交换码,其作用是在汉字信息系统之间进行汉字交换时所使用的编码;汉字内码,其作用是信息处理系统内部存储、处理、传输汉字而使用的编码;汉字字形码,其作用是表示汉字字形信息的编码,在显示或打印的时候使用;参考资料:《大学计算机-计算思维导论》,清华大学出版社2019

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系后台,我们会立即处理,本文部分文字与图片资源来自于网络,转载此文是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们(管理员邮箱:namisc@163.com),情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!
-- 展开阅读全文 --
头像
李敖是什么人物
« 上一篇 2023-01-17
扫黑风暴播出时间cctv8
下一篇 » 2023-01-17
取消
微信二维码
支付宝二维码

动态快讯

最近发表

标签列表

系统获取,无需修改