gb2312编码在线转换_⽤⼤⽩话聊聊计算机的字符编码!
点击蓝字 关注我们
那些让程序猿们“英年早秃”的代码,到底是怎么来的呢?
今天就带⼤家看看,这个“⽼朋友”究竟是何⽅神圣。
什么是编码
编码,是信息从⼀种形式或格式转换为另⼀种形式的过程,简单来讲就是语⾔的翻译过程。
我们都知道计算机使⽤的是机器语⾔即⼆进制码,相信⼤部分⼈都⽆法流畅的阅读⼆进制码。
为了能够让⼈们更好的理解计算机输出的结果,就需要将机器语⾔转换为⾃然语⾔。
⽐如英语、俄语和中⽂等。
这看似简单的语⾔转换过程,随着计算机的普及,与互联⽹化对语⾔字符的编码冲击也越来越⼤。
编码规范的调整也伴随着整个计算机发展历史在逐步完善,甚⾄“愈演愈烈”。
什么是字符集
字符集是⼀个系统⽀持的所有抽象字符的集合。字符是各种⽂字和符号的总称,包括各国家⽂字、标点符号、图形符号、数字等。
什么是字符编码
字符编码是⼀套法则,使⽤该法则能够对⾃然语⾔的字符的⼀个集合(如字母表或⾳节表)与其他东西的⼀个集合(如号码或电脉冲)进⾏配对。即在符号集合与数字系统之间建⽴对应关系,它是信息处理的⼀
项基本技术。通常⼈们⽤符号集合(⼀般情况下就是⽂字)来表达信息。⽽以计算机为基础的信息处理系统则是利⽤元件(硬件)不同状态的组合来存储和处理信息的。元件不同状态的组合能代表数字系统的数字,因此字符编码就是将符号转换为计算机可以接受的数字系统的数,称为数字代码。
常见字符集名称
ASCII字符集、GB2312字符集、BIG5字符集、GB18030字符集、Unicode字符集等。计算机要准确的处理各种字符集⽂字,需要进⾏字符编码,以便计算机能够识别和存储各种⽂字。
在线二进制转换1
ASCLL
我们先来讲讲ASCLL码!
我们知道,计算机内部,所有信息最终都是⼀个⼆进制值。每⼀个⼆进制位(bit)有0和1两种状态,因此⼋个⼆进制位就可以组合出256种状态,这被称为⼀个字节(byte)。也就是说,⼀个字节⼀共可以⽤来表⽰256种不同的状态,每⼀个状态对应⼀个符号,就是256个符号,从00000000到11111111。
ASCII编码由1个字节8bit来标识字符编码表映射关系。
如果要得到LOVE,计算机只需要得到⼆级制01001100·01001111·01010110·01000101。可对照上表查看。
这128个符号(包括32个不能打印出来的控制符号),只占⽤了⼀个字节的后⾯7位,字符⾼四位⾸位统⼀规定为0。
所以ASCII码成功的⽤7个Bit位就完成了计算机语⾔转换为⾃然语⾔(⼈类语⾔)的壮举。
但是,128个符号是不够的,⽐如其他国家的语⾔如中⽂、⽇⽂和阿拉伯⽂需要⽤计算机显⽰的时候……
就完全⽆法使⽤ASCII码如此少量的编码映射⽅式。
于是,技术⾰新开始了。
2
GB2312
1974年8⽉,中国开始了748⼯程,包括了⽤计算机来处理中⽂字,展开了各种研究⼯作。
后来到1980年公布了 GB 2312-80汉字编码的国家标准。
GB 2312标准共收录6763个汉字 ,其中⼀级汉字3755个, ⼆级汉字3008个;
同时收录了包括 拉丁字母、 希腊字母、 ⽇⽂、平假名及⽚假名字母、 俄语在内的682个字符。 看起来GB2312已经很⽜逼了,使⽤2个字节作为编码字符集的空间。
但是6763个汉字是真的不够⽤啊!
3
GBK
于是GBK中在保证不和GB2312、ASCII冲突(即兼容GB2312和ASCII)的前提下,也⽤每个字占据2字节的⽅式⼜编码了许多汉字。
经过GBK编码后,可以表⽰的汉字达到了20902个,另有984个汉语标点符号、部⾸等。值得注意的是这20902个汉字还包含了繁体字。
4
GB18030
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论