关于编码转换笔记
# -*- coding:utf -8 -*- print("理解")
编码必须一样!!!
utf-8通过解码再编码可以变成GBK(python 2.x里面这么用)
# -*- coding:utf-8 -*- #UTF-8转换成GBK编码 #temp(临时雇员,译音:泰坡) #decode(解码,译音:迪口得) #encode(编码,译音:因口得) temp ='李杰' # utf-8 #解码,需要指定原来是什么编码 temp_unicode = temp.decode(''utf-8) #拿unicode进行编码, temp_gbk = temp_unicode.encode('gbk') #再打印的时候想以GBK的方式显示,windows的终端刚好是GBK的编码,两者匹配了 #temp_gbk就是变成的GBK内容,print(temp_gbk)就是以gbk的方式显示出来了 print(temp_gbk)
python 3.x的转码
在3.x中,对整个转码过程做了优化,如果是个utf-8的编码,可以直接转成gbk,不用再通过unicode中转(不用人为主动中转了,python内部做了中转)
#!/usr/bin/env python # -*- coding:utf-8 -*- #py3,自动转换 utf-8 unicode gbk #不用做unicode那一步了,在python3.x之后,移除了python的unicode类型 temp = "李杰" temp_gbk = temp.encode('gbk') print(temp_gbk)
"""
windows终端需要GBK ,只要给他unicode编码,它可以自动转换为合适的编码类型
所以用temp_gbk编码为gbk的那一步其实可以不用写,windows终端会自动进行编码!
知道就行,写的时候还是要写完整,因为在py3里面没有unicode类型,就搞不定了
”“”
编码这里需要知道:
1、unicode,gbk,utf-8之间的转换关系
2、对于py2
utf-8 > gbk
utf-8解码unicode编码gbk
对于py3
utf直接编码成gbk
3、如果要在windows上输出
只要把utf-8解码成unicode,就可以自动编码成gbk(只需知道即刻,不建议这么使用)