字符编码
字符串类型、文本文件的内容都是由字符组成的,但凡涉及到字符的存取,都需要考虑字符编码的问题。
存储原理:
1、软件运行前,软件的代码及其相关数据都是存放于硬盘中的
2、任何软件的启动都是将数据从硬盘中读入内存,然后cpu从内存中取出指令并执行
3、软件运行过程中产生的数据最先都是存放于内存中的,若想永久保存软件产生的数据,则需要将数据由内存写入硬盘
计算机内部只能够认识二进制01,计算机之所以能够认识各种各样的字符,那是因为计算机的内部维护着一张字符编码表 。
字符编码表:
即一些字符和数字之间的对应关系!
utf-8就是目前大家统一使用的一种编码:
1. 它统一使用一个字节来保存英文字符
2. 统一使用三个字节来保存中文字符
编码与解码
编码:
把人类能够读懂的字符转化为计算机能够识别的数字(二进制)
如图所示
解码:
把计算机能够读懂的数字转化为人类能够读懂的字符
如图所示
字符编码的实战
如何解决乱码问题:
在写文件的时候使用的是什么编码,那么你打开的时候就使用对应编码解码就行
Python解释器版本不同代码的编码问题:
在python2中使用的编码表不是utf-8,而是ASCII码表
在python2中使用的编码表是utf-8
在python2中,使用# coding:utf-8声明使用utf-8表
编码代码:
str = '趁年轻'
res = str.encode('utf-8')
print(res)
解码代码:
print(res.encode('utf-8'))