一段内容可以有多种编码方式,如unicode,utf-8,gbk,由于unicode编码一个字符四个字节,传输时费的流量太多,一般不用这个编码方式传。虽然编码方式不一样,但实际上表示的内容是一样的,好比二进制,十进制,十六进制,数字可以有这么多中表达方式。
字符也是同样的道理。例如:一般网络传输的物理层只认识二进制,物理层有各种协议可以把bytes类型的数据转化成二进制,而且这些协议只认识byte类型,如果不是bytes类型是传不过去的。
在python2中默认是unicode编码方式
python3中默认是utf-8对的编码方式。但是字符串还保留着unicode编码方式
1.python默认使用ASCII处理字符流
2.Unicode编码与ASCII编码的不兼容,Python脚本文件是由utf-8编码的
因此,在写入中文时,出现报错:
UnicodeEncodeError: ‘ascii’ codec can’t encode characters in position 0-78: ordinal not in range(128)
解决办法:
导入sys模块
import sys
reload(sys)
sys.setdefaultencoding(‘utf-8’)