计算机中的编码

版权声明:本文为博主原创文章,未经博主允许不得转载 https://blog.csdn.net/g_optimistic/article/details/89577660

目录

1.ASCII码

2.GB2312  国标

3.每个国家都有自己的编码

4.Unicode码  万国码

5.UTF-8

6.计算机系统通用的字符编码工作方式:


1.ASCII码

ASCII码 最多能表示127个英文字符

'0'  48   'A'  65    'a'   97
'1'  49   'B'        'b'   98
'2'  50
'3'  51
'9'  57

依次类推

标准键盘:101键盘 有101个键 能敲出来的字符都算

从键盘输入的每一个键都对应一个ASCII码

只能表示我们所说的127个英文字符

问题是汉字,汉字太多,就需要扩展跟多的位数来增加数值的范围

2.GB2312  国标

每个汉字两个字节    一个字节占8位

3.每个国家都有自己的编码

混乱

4.Unicode码  万国码

冗余,太多了

5.UTF-8

把Unicode字符根据不同的数字大小编码成1-6个字节

英文字母 1个字节

汉字 3个字节

生僻的字符 4-6个字节

文本包\大量的英文字符 用UTF-8节省空间


这是一条华丽的分割线


6.计算机系统通用的字符编码工作方式:

计算机内存:Unicode码

保存到硬盘上或者是传输的时候:UTF-8

保存到硬盘上也可以用Unicode 但是太占内存了

(1)用记事本编辑的时候,从文件读取的 UTF-8 字符被转换为 Unicode 字符到内存里,编辑完成后,保存的时候再把 Unicode 转换为 UTF-8 保存到文件:rw-file-utf-8
(2)浏览网页的时候,服务器会把动态生成的 Unicode 内容转换为 UTF-8 再传输到浏览器:web-utf-8
       所以你看到很多网页的源码上会有类似的信息,表示该网页正是用的 UTF-8 编码
首先要搞清楚,字符串在 Python 内部的表示是 unicode 编码,因此,在做编码转换时,通常需要以 unicode 作为中间编码,即先将其他编码的字符串解码(decode)成 unicode,再从 unicode 编码(encode)成另一种编码。
1.decode:其它码-->unicode
decode 的作用是将其他编码的字符串转换成 unicode 编码,如 str1.decode(‘gb2312’),表
示将 gb2312 编码的字符串转换成 unicode 编码。
2.encode:unicode-->其它码
encode 的作用是将 unicode 编码转换成其他编码的字符串,如 str2.encode(‘gb2312’),表
示将 unicode 编码的字符串转换成 gb2312 编码

先编码再解码

猜你喜欢

转载自blog.csdn.net/g_optimistic/article/details/89577660