怎样用计算机编码出文字,计算机汉字编码主要有哪些方式

836e1f5cc7242820ffae5af12ee7e77e.png

1、区位码

区位码是常用汉字和符号按照符号、特常用汉字、次常用汉字的顺序先区后位对汉字进行数字编码。在GB2312 标准中,共编排有94个区,每区94位汉字(符号)。例如,“亮”按照GB2312处于第33区的第33个字,它的区位码就是3333,使用区位输入法,用3333就可以输入“亮”。

2、内码

内码是用于计算机处理的字符编码方式。在CCDOS中,汉字的内码是第一字节“区码”加160(0xA0),第二字节“位码”加160(0xA0),例如“亮”字的内码,第一字节和第二字节都是33+160(0xC1),因为它的区码和位码都是33,通常说的GB码或者GB2312码都是指这种编码规则下的内码,与港台地区经常使用的BIG5码相区别。

3、外码

外码是输入汉字时使用的编码,跟特定输入法对应。例如使用拼音输入法,那么亮字的外码则是liang,使用区位输入法,亮字的外码也是3333(跟区位码值相等,但概念不同)。

4、ASCII码

ASCII是美国信息交换标准码。鉴于信息交换的重要性,为统一文字符号的编码标准,让不同厂牌机型的计算机都能使用同一套标准化的信息交换码,美国国家标准局制定了ASCII码 (America Standard Code for Information Interchange,美国信息交换标准码),作为数据传输的标准码。早期使用7 个位来表示英文字母、数字0~9及其它符号,现在则使用8个位,共可表示256个不同的文字与符号,为目前各计算机系统中使用最普遍也最广泛的英文标准码,相对于ASCII码,中文系统使用最广泛的内码则为GB2312和Big-5码。

5、GB2312-80

GB2312(1980年)一共收录了7445个字符,包括6763个汉字和682个其它符号。汉字区的内码范围高字节从B0-F7,低字节从A1-FE.

6、GBK1.0

GBK1.0(1995年)是汉字扩展规范,共收录了21886个符号,它分为汉字区和图形符号区。汉字区包括21003个字符。

7、GB18030

GB18030(2000年)是取代GBK1.0的正式国家标准。该标准收录了27484个汉字,同时还收录了藏文、蒙文、维吾尔文等主要的少数民族文字。

8、DBCS

中文、日文、韩文等语言使用两个字节表示一个字符,其字符集称为双字节字符集(double-byte character set),字符流在解析时将两个字节作为一个双字节编码。GB2312、GBK到GB18030都属于双字节字符集 (DBCS)。

9、Unicode

Unicode 也是一种字符编码方法,不过它是由国际组织设计,可以容纳全世界所有语言文字的编码方案。Unicode的学名是"Universal Multiple-Octet Coded Character Set",简称为UCS。UCS可以看作是"Unicode Character Set"的缩写。目前存在两个国际组织:国际标准化组织(ISO)和一个软件制造商的协会(unicode.org),按照单一编码表协同工作,现在的版本有ISO10646-3和Unicode 4.1.0。UCS有两种格式:UCS-2和UCS-4。顾名思义,UCS-2就是用两个字节编码,UCS-4就是用4个字节(实际上只用了31位,最高位必须为0)编码。

Unicode只与ASCII兼容,与GB2312、GBK、GB18030不兼容,是另一种方式的汉字编码。

10、UTF

UCS规定了怎么用多个字节表示各种文字。怎样传输这些编码,是由UTF(UCS Transformation Format)规范规定的,常见的UTF规范包括UTF-8、UTF-7、UTF-16。UTF-8就是以8位为单元(单字节)对UCS进行编码,UTF-16是以16位为单元对UCS进行编码,在传输过程中要考虑字节顺序。

11、BOM

Unicode规范中推荐的标记字节顺序的方法是BOM(Byte Order Mark)。在传输字节流前,先传输字符"ZERO WIDTH NO-BREAK SPACE"。如果接收者收到FEFF,就表明这个字节流是高字节在前;如果收到FFFE,就表明这个字节流是低字节在前。因此字符"ZERO WIDTH NO-BREAK SPACE"又被称作BOM。

UTF-8使用单字节,不需要BOM来表明字节顺序,但可以用BOM来表明编码方式。字符"ZERO WIDTH NO-BREAK SPACE"的UTF-8编码是EF BB BF,如果接收者收到以EF BB BF开头的字节流,就知道这是UTF-8编码了。

◆◆

评论读取中....

请登录后再发表评论!

◆◆

修改失败,请稍后尝试

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值