字符编码 ASCII,Unicode,UTF-8的关系
2017-12-10 14:26
302 查看
一、为什么要有编码?
因为计算机只能处理数字,所以如果想要处理字符串就需要把字符串先转成数字。这个转换就需要有一个字符到数字的映射表,也就是编码。
二、什么是ASIIC码?
因为计算机是美国人发明和最早使用的,他们为了解决计算机处理字符串的问题,就将数字字母和一些常用的符号做成了一套编码,这个编码就是ASIIC码。ASIIC码包括数字大小写字母和常用符号,一共128个,1字节(byte)=8bit,8bit能表示的最大数是256,所以ASIIC编码中一个字符的大小就是1个字节
三、什么是Unicode编码?
计算机进入中国,我们发现美国人制定的ASIIC完全不够用,于是我们就制定了自己的GB2312编码,把汉字编码了进去。
同样的事情发生了在了俄罗斯,法国,日本等等,各国都开始制定自己的一套编码,计算机的编码越来越庞大,越来越乱,为了解决这一问题,Unicode应运而生。Unicode将各国文字统一编码。
所以Unicode编码可以看做是ASIIC的扩展。
四、什么是UTF-8?
UTF-8编码可以理解成Unicode编码的一种升级,为什么要升级呢?为了节省存储空间。
ASIIC编码一共128个,所以1个字节就可以搞定,Unicode编码通常是2个字节。
例如:A的表示
可以想象,如果是纯英文的文章用Unicode编码,会浪费很多字节的存储空间。为了解决这个问题,就把Unicode编码升级成了可变长度的编码也就是UTF-8编码,在UTF-8编码中,数字字母都是一个字节,超过ASIIC码的部分用两个或者三个字节表示。举例:
字符 A 用三种编码存储:
因为计算机只能处理数字,所以如果想要处理字符串就需要把字符串先转成数字。这个转换就需要有一个字符到数字的映射表,也就是编码。
二、什么是ASIIC码?
因为计算机是美国人发明和最早使用的,他们为了解决计算机处理字符串的问题,就将数字字母和一些常用的符号做成了一套编码,这个编码就是ASIIC码。ASIIC码包括数字大小写字母和常用符号,一共128个,1字节(byte)=8bit,8bit能表示的最大数是256,所以ASIIC编码中一个字符的大小就是1个字节
三、什么是Unicode编码?
计算机进入中国,我们发现美国人制定的ASIIC完全不够用,于是我们就制定了自己的GB2312编码,把汉字编码了进去。
同样的事情发生了在了俄罗斯,法国,日本等等,各国都开始制定自己的一套编码,计算机的编码越来越庞大,越来越乱,为了解决这一问题,Unicode应运而生。Unicode将各国文字统一编码。
所以Unicode编码可以看做是ASIIC的扩展。
四、什么是UTF-8?
UTF-8编码可以理解成Unicode编码的一种升级,为什么要升级呢?为了节省存储空间。
ASIIC编码一共128个,所以1个字节就可以搞定,Unicode编码通常是2个字节。
例如:A的表示
ASIIC | 01000001 |
Unicode | 00000000 01000001 |
字符 A 用三种编码存储:
Asiic | 01000001 |
Unicode | 00000000 01000001 |
UTF-8 | 01000001 |
相关文章推荐
- 字符编码 ASCII,Unicode和UTF-8的关系
- 字符编码 ASCII,Unicode和UTF-8的关系
- 字符编码 ASCII UTF-8 UNICODE 的关系
- 字符编码 ASCII,Unicode和UTF-8的关系
- 字符编码 ASCII,Unicode和UTF-8的关系
- 字符编码 ASCII,Unicode和UTF-8的关系
- 字符编码 ASCII,Unicode和UTF-8的关系
- 字符编码笔记:ASCII,Unicode和UTF-8
- 字符编码:ASCII,Unicode和UTF-8
- 字符编码笔记:ASCII,Unicode和UTF-8
- (转)字符编码笔记:ASCII,Unicode和UTF-8
- (转)字符编码笔记:ASCII,Unicode和UTF-8
- 符号编码-ASCII、Unicode、Unicode big endian、UTF-8之间的关系
- 字符编码笔记:ASCII,Unicode和UTF-8
- JAVA 编码之 ASCII、Unicode、GBK和UTF-8字符编码的区别联系
- 各种字符编码的知识-ASCII,Unicode,UTF-8,UTF-16
- 字符编码笔记:ASCII,Unicode和UTF-8
- 字符编码笔记:ASCII,Unicode和UTF-8
- 字符编码的故事(ASCII,ANSI,Unicode,Utf-8区别)转载
- 字符编码简介:ASCII,Unicode,UTF-8,GB2312