字符串编码与转码
![](https://images2017.cnblogs.com/blog/1232054/201709/1232054-20170905005030944-1725934112.png)
需知:
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
python中,字符编码默认为Unicode,因此,在进行字符编码解码时:
str = '你好' #str是Unicode
str_to_gbk = str.encode('gbk') #这里解码即可,即是Unicode解码为gbk
此时str_to_gbk是GBK编码,再进行编码时
需要decode成Unicode,再encode成其他格式
例:
gbk_to_utf8 = str_to_gbk.decode('gbk').encode('utf-8')
#先转化为Unicode,再转化为utf-8
<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">