2018.09.19python学习第七天part1

"""

字符编码:

1.什么是字符编码?(what)
人类在使用计算机时,使用的都是人类能看懂的字符,但是计算机自能理解二进制
所以为了让计算机能看懂人类的字符,有一个字符-----(翻译过程)-----二进制
这个翻译过程就是按照字符编码表来实现的。

2.字符编码有和作用?(why)
能够让人类使用的字符转换成计算机能读懂的二进制,从而更好的奴役计算机

3.如何使用字符编码表?(how)



ASCII字符编码表:只能识别英文字符,1英文字符=8bit

GBK字符编码表(中国):能识别汉字和英文字符,1汉字=2Bytes=16bit 一个英文字符=1Bytes


Shift_JIS字符编码表(日本):.......1英文字符=8bit

Euc_kr字符编码表(韩国):.......1英文字符=8bit
icode字符编码表(不区分地区,通用):1个字符=2Bytes=16bit
两大特点:1.能够兼容万国的字符2
2.与各个国家的字符编码都有映射关系
utf-8:shi unicode的转换格式,1个英文字符=1Bytes,一个汉字=3Bytes


4.编码和解码:
字符---(编码)----unicode----(编码)----对应的格式(如:GBK,ASCII,UTF-8等)
对应的格式----(解码)-----unicode----(解码)----字符

5.解决乱码的核心法则:
用什么编码格式编码,就应该用该格式进行解码
如:字符---Unicode---(GBK)文件
文件---(GBK)---Unicode---字符

6.python解释器默认的字符编码表:
python2:ASCII
python3: unicode

#在文件头编写 coding:你编写文件时使用的字符编码表(如:GBK)
#这样在打开的时候就是将程序默认的字符编码表修改成你coding:....后面的编码表
#python在str前面加个u(如x=u'hello')这样就储存成unicode格式
#python3中的str都是用unicode来编码的,encode之后会得到bytes(二进制)类型
总结:
coding:对应格式---------是打开文件时修改打开程序使用的字符编码表
x=u'':是在编写文件是将程序默认的储存格式更改为Unicode格式

""""
原文地址:https://www.cnblogs.com/hello-yuanjing/p/9676206.html