Python的编码和解码

python中的编码以及解码

所有的字符串的中间编码格式都可以是unicode,这样转换起来更加的快捷和方便

格式

1
2
      decode                encode
base ------------> unicode -------> other

假设a是一个ISO-8859-2编码的字符串,想要转换成utf8,那么首先要先解码成unicode,在转码

1
2
3
4
5
6
7
8
9
10
import chardet
a='\xc7\xeb\xb5\xc7\xc2\xbcexmail.qq.com\xd0\xde\xb8\xc4\xc3\xdc\xc2\xeb'
In [21]: chardet.detect(a)
Out[21]: {'confidence': 0.30158743562616186, 'encoding': 'ISO-8859-2'}

In [28]: print a.decode('ISO-8859-2')
ÇëľÇÂźexmail.qq.comĐ޸ÄĂÜÂë

In [34]: s.encode('utf8')
Out[34]: '\xc3\x87\xc3\xab\xc4\xbe\xc3\x87\xc3\x82\xc5\xbaexmail.qq.com\xc4\x90\xc5\xa2\xc2\xb8\xc3\x84\xc4\x82\xc3\x9c\xc3\x82\xc3\xab'