Python——文件编码

编码的演变

Python编码

python2

Python指定编码

  • 在文件头部增加 -*-coding:utf8-*-

需知:

1.在python2默认编码是ASCII, python3里默认是unicode

2.unicode 分为 utf-32(占4个字节),utf-16(占两个字节),utf-8(占1-4个字节), so utf-16就是现在最常用的unicode版本, 不过在文件里存的还是utf-8,因为utf8省空间

3.在py3中encode,在转码的同时还会把string 变成bytes类型,decode在解码的同时还会把bytes变回string

编码encode解码decode

Python2 中 decode方法

  • 在Python2中decode方法可以将字符串编码为unicode
  • encode方法可以解码为指定的编码
s_to_unicode= s.decode("utf-8")
s.encode("gbk") 编码为gbk
#此处要指定原始编码
print(s.decode())

python3

  • 在python3中默认编码就为Unicode
msg = "我爱北京天安门"
#msg_gb2312 = msg.decode("utf-8").encode("gb2312")
msg_gb2312 = msg.encode("gb2312") #默认就是unicode,不用再decode,喜大普奔
gb2312_to_unicode = msg_gb2312.decode("gb2312")
gb2312_to_utf8 = msg_gb2312.decode("gb2312").encode("utf-8")
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容