Python3 编码转换

前言

在做爬虫的时候,看到数据中有如下的数据:

文本如下:

�潮�宸�1�2�9�10�13�楼

这种奇怪的字符是因为二进制码被decode为了'iso-8859-1'的编码格式,而不是正确的'utf8'

python3的编码与解码

  • encode (编码) : 将字符串转成二进制

    语法:

    str.encode(encoding='UTF-8',errors='strict')
    

    ps:

    • 'UTF-8' 中大小写不敏感,短横杠可有可无, 举个栗子: str.encode('uTf8') 也可以。
    • 默认使用UTF-8编码
  • Decode (解码) : 将二进制码转为指定编码的字符串

    语法:

    bytes.decode(encoding="utf-8", errors="strict")
    

出现编码错误的原因

浏览器将使用了错误的解码方式解码了二进制数据

解决办法:先使用和浏览器一样的错误编码方式编码后,再使用正确的解码方式解码。

代码

a = '�潮�宸�1�2�9�10�13�楼'
b = a.encode('iso-8859-1')
print('b: ', b)
c = b.decode()
print('c: ', c)

结果如下:

缩略图:

成功解码!

链接

github:https://github.com/pandaomeng/blog

博客:https://pandaomeng.com

你可能感兴趣的:(Python3 编码转换)