编码

编码的由来:

1.为了处理英文字符,产生了ASCII码。 
2.为了处理中文字符,产生了GB2312。 
3.为了处理各国字符,产生了Unicode。 
4.为了提高Unicode存储和传输性能,产生了UTF-8,它是Unicode的一种实现形式

python2与python3的编码问题:

1.Python2中默认的字符编码是ASCII码。 
2.Python2中字符串有str和unicode两种类型。str有各种编码的区别,unicode是没有编码的标准形式。 
3.Python2中可以直接查看到unicode的字节串。
4.字节串是指该字符串在python中的标准形式, 字节串是没有编码的


python2如果不声明的话,默认只处理英文,也就是ASCll编码,
所以每一个有ASCll之外的字符的话,都需要在脚本的头部声明 #  _*_ utf-8 _*_

编码:

decode()方法将其他编码字符转化为Unicode编码字符 

解码:

encode()方法将Unicode编码字符转化为其他编码字符


chardet模块可以检测字符串编码,没有该模块的可以用pip install chardet安装。

win与linux的默认编码:

1.Python2的对于字符编码的转换要以unicode作为“中间人”进行转化。
2.知道自己系统的字符编码(Linux默认utf-8,Windows默认GB2312),对症下药。



猜你喜欢

转载自www.cnblogs.com/amou/p/9000447.html