encode与decode:以下代码皆为Windows系统下试验代码,其他博客代码皆在Mac OS下操作
总是搞不清两者,先下载了两张图片,能够大概理解
在python2中,默认是ASCII编码
# -*- coding:utf-8 -*- a = '哪吒这两天挺火' a_to_unicode = a.decode('utf-8') unicode_to_gbk = a_to_unicode.encode('gbk') print(a) print(a_to_unicode) print(unicode_to_gbk)
在python3中,文件的默认编码是UTF-8,不用像python2声明UTF-8,python内部的字符编码默认是unicode编码,即UTF-16,官方文档说明
b = byte = 字节类型 = [0-255]纯数字的数据类型
encode在编码的同时会把数据转成bytes类型
decode在解码的同时会把bytes类型转成字符串
a = '哪吒这两天挺火' a_to_unicode = a.decode('utf-8') unicode_to_gbk = a_to_unicode.encode('gbk') print(a) print(a_to_unicode) print(unicode_to_gbk) gbk_to_unicode = unicode_to_gbk.decode('gbk') unicode_to_utf8 = gbk_to_unicode.encode('utf-8') print(gbk_to_unicode) print(unicode_to_utf8)