我是靠谱客的博主 飘逸刺猬,最近开发中收集的这篇文章主要介绍1分钟理解什么是字符集,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

什么是字符集?

严格来说,计算机无法保存电影、音乐、图片、字符……计算机只能保存二进制码。因此电影、音乐、图片、字符都需要先转换为二进制码,然后才能保存。对于保存字符就简单多了,直接把所有需要保存的字符编号,当计算机要保存某个字符时,只要将该字符的编号转换为二进制码,然后保存起来即可。所谓字符集,就是给所有字符的编号组成总和


ASCII

最早的字符集叫 American Standard Code for Information Interchange(美国信息交换标准代码),简称 ASCII,由 American National Standard Institute(美国国家标准协会)制定。

1.鼻祖,ascii,7位(bit) 范围128个字符

ASCII 字符集总共规定了 128 种字符规范,但是并没有涵盖西文字母之外的字符。
范围是0x00 - 0x7F128个字符

2.随之出现扩展ascii, 8位范围256

后来发现,如果需要按照表格方式打印这些字符的时候,缺少了“制表符”。于是又扩展了ASCII的定义,使用一个字节的全部8位(bit)来表示字符了,这就叫扩展ASCII码
范围是0x00 - 0xFF256个字符


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 - 0xFFFF60000多个字符,其中光汉字就占用了40000多个。


字符编码

字符统一成Unicode编码,乱码问题从此消失了。
但是Unicode只是一个 Character Set(字符集)。字符集只是给所有的字符一个唯一编号,但是却没有规定如何存储
Unicode最常用的是用两个字节表示一个字符,如果你写的文本基本上全部是英文的话,用Unicode编码比ASCII编码需要多一倍的存储空间,在存储和传输上就十分不划算。
所以又引入了字符编码

最后

以上就是飘逸刺猬为你收集整理的1分钟理解什么是字符集的全部内容,希望文章能够帮你解决1分钟理解什么是字符集所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(40)

评论列表共有 0 条评论

立即
投稿
返回
顶部