Python字符编码问题简单描述

1.ASCII编码

  在python中有chr()和ord()方法进行转换。

>>> chr(88)
'X'
>>> ord('X')
88

2、关于python中的编码

>>> sys.getdefaultencoding()
'utf-8'

编码utf-8

>>> a='编码'
>>> a.encode('utf-8')
b'\xe7\xbc\x96\xe7\xa0\x81'

编码unicode

>>> a.encode('unicode-escape')
b'\\u7f16\\u7801'

编码gb2312

>>> a.encode('gb2312')
b'\xb1\xe0\xc2\xeb'

将utf-8转换为unicode

将unicode转换为utf-8

>>> b'\\u7f16\\u7801'.decode('unicode-escape').encode('utf-8')
b'\xe7\xbc\x96\xe7\xa0\x81'

查看当前编码情况

>>> chardet.detect(a1)
{'encoding': 'utf-8', 'confidence': 0.7525}

3、URL编码

>>> import urllib.parse
>>> a='编码'
>>> urllib.parse.quote(a)
'%E7%BC%96%E7%A0%81'