计算机中编码方式---ASCII,ISO-8859-1以及UTF-8和UTF-16编码

本文介绍了计算机中不同编码方式,包括ASCII、ISO8859-1、GB2312、GBK/GBK18030、Unicode、UTF-8和UTF-16。重点讨论了它们的适用场景、编码规则以及解决多语言字符存储的问题。例如,ASCII码用于基础字符,GB2312和GBK解决了中文字符编码,而UTF-8和UTF-16则提供了更广泛的字符集支持。
摘要由CSDN通过智能技术生成

简介

在编程中经常会遇到的编码问题,例如乱码问题或者文本显示成??的形式.我们知道计算机是二进制的方式存储数据,要想将人类世界的文字和符号存储到计算机,就需要将数据”翻译”成计算机语言进行存储,显示的时候又”翻译”成人类可识的数据,那么中间是翻译的过程需要的”字典”就是编码表,也就是将计算机二进制和文字、符号映射.计算机中存储信息的最小单元是字节(byte),一个字节有8个二进制位(bit),每个二进制只有两种状态,0或者1表示.那么8个二进制位就是2的8次幂,结果是256种状态,二进制范围是从0000000011111111.

ASCII码

起初美国有关标准组织制定了一套编码叫ASCII码,用了一个字节低7位,最高位二进制位0,编码范围是00000000-0xxxxxxx,总共有128状态,表示了大小写字母,数字,标点符号以及特殊的控制字符.

0~31以及127(共33个)是控制字符,例如:LF(换行),CR(回车).

32~126(共95个)是字符,48~57为0到9共十个阿拉伯数字,65~122是大小的英文字母,其余的是字符,运算符等.

所以ACSII码编码的格式是0xxxxxxx.一个字节中除了ASCII编码外,剩余的位置还有128个状态,对于一些西欧国家,文字比较少,这些编码位置已经够用,但是对于汉字个数远多余128个,所以出现了其他编码方式.

ISO8859-1

别名是Latin1,Iso-8859-1编码是属于单字节的编码,即编码的范围是0到255.总共能表示256个字符,向下兼容了ACSII,也就是在ASCII编码的基础上扩展了127-255之间位置。编码范围是0x00-0xFF,涵盖了部分西欧的语言字符.由于和计算机的存储单元一样,应用比较广泛,例如在网络传输协议中和Mysql数据库默认的编码

GB2312

GB2312是中国国家标准总局在1980年发布,用于汉字处理,汉字通信等系统之间信息,主要编码的字符是简化汉字,以及常用字母和符号,中国大陆地区和新加坡等地广泛使用.总共收录字符有7445个,其中简化的汉字是6763,以及包含拉丁字母,希腊字母,日文平假名及片假名字母,俄语西里尔字母在内的全角字符有682个.

GB2312对收录的字符进行了分区处理,共有94个区,每个区有94个字符,这种表示字符的方式叫区位码.例如下面01区和02区. 

每个区具体的分布的字符如下:

区号

编码总数

表示的符号

01

94

一般符号

02

72

顺序号码

03

94

拉丁字母

04

83

日文假名

05

86

Katakana

06

48

希腊字母

07

66

俄文字母

08

63

汉语拼音符号

09

76

图形符号

10-15

0

没有编码

16-55

3755

一级汉字,以拼音为序

56-87

3008

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值