概述
什么是字符集?
严格来说,计算机无法保存电影、音乐、图片、字符……计算机只能保存二进制码。因此电影、音乐、图片、字符都需要先转换为二进制码,然后才能保存。对于保存字符就简单多了,直接把所有需要保存的字符编号
,当计算机要保存某个字符时,只要将该字符的编号转换为二进制码,然后保存起来即可。所谓字符集,就是给所有字符的编号组成总和。
ASCII
最早的字符集叫 American Standard Code for Information Interchange(美国信息交换标准代码),简称 ASCII,由 American National Standard Institute(美国国家标准协会)制定。
1.鼻祖,ascii,7位(bit) 范围128个字符
ASCII 字符集总共规定了 128 种字符规范,但是并没有涵盖西文字母之外的字符。
范围是0x00 - 0x7F
共128个字符
2.随之出现扩展ascii, 8位范围256
后来发现,如果需要按照表格方式打印这些字符的时候,缺少了“
制表符
”。于是又扩展了ASCII的定义,使用一个字节的全部8位(bit)来表示字符了,这就叫扩展ASCII码
。
范围是0x00 - 0xFF
共256个字符
GB2312、GBK 、GB18030
3.中国最早出现gb-2312
,支持中文
GB 2312 就是解决
中文编码
的字符集,由国家标准委员会发布。 同时考虑到中文语境中往往也需要使用西文字母,GB2312 也实现了对ASCII 的向下兼容
,原理是西文字母使用和 ASCII 中相同的代码。
GB2312
涵盖了6000
多个汉字。
4.随之出现gbk
,扩展的gb-2312,包含复杂中文和繁体
GB2312 只涵盖了 6000 多个汉字,还有很多没有包含在其中,又进行扩展。扩展之后的编码方案被称为 GBK标准,GBK包括了GB2312 的所有内容,同时又增加了近
20000
个新的汉字(包括繁体字
)和符号
5.进一步扩展GB18030
后来少数民族也要用电脑了,于是我们再扩展,又加了几千个新的
少数民族文字
,GBK扩成了 GB18030。
从此之后,中华民族的文化就可以在计算机时代中传承了。中国的程序员们看到这一系列汉字编码的标准是好的,于是通称他们叫做 “DBCS“(Double Byte Charecter Set双字节字符集
)
Unicode(Universal Multiple-ctet Coded Character Set)
6. unicode
标准字符集统一全球
U+十六进制数字
代表 Unicode字符代码,eg:U+77E5
Unicode之前,世界各个国家都有自己的编码标准,导致国家与
国家之间
的编码转换很有问题。为了把全世界人民所有的所有的文字符号都统一进行编码,于是一个叫 ISO (国际标谁化组织)的国际组织制定了”Universal Multiple-ctet Coded Character Set”,简称 UCS, 俗称 “unicode“。
这样全世界任何一个地区的软件,可以不用修改地就能在另一个地区运行了。虽然我用 IE浏览日本网站,显示出我不认识的日文文字,但至少不会是乱码了。
unicode规定2个字节表示一个字符
。通常会用U+十六进制数字
代表 Unicode字符代码,eg:U+77E5
。
对于ASCII里的那些英文“半角”字符,其原编码不变,只是将其长度由原来的8位扩展为16位,高位补0。而其他文化和语言的字符则全部重新统一编码。 这种大气的方案在保存英文文本时会多浪费一倍
的空间。
UNICODE 的范围是0x0000 - 0xFFFF
共60000
多个字符,其中光汉字就占用了40000
多个。
字符编码
字符统一成Unicode编码,乱码问题从此消失了。
但是Unicode
只是一个Character Set(字符集)
。字符集只是给所有的字符一个唯一编号
,但是却没有规定如何存储
。
Unicode最常用的是用两个字节表示一个字符,如果你写的文本基本上全部是英文的话,用Unicode编码比ASCII编码需要多一倍的存储空间,在存储和传输上就十分不划算。
所以又引入了字符编码
最后
以上就是飘逸刺猬为你收集整理的1分钟理解什么是字符集的全部内容,希望文章能够帮你解决1分钟理解什么是字符集所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复