Python3|Python3 编码转换

前言 在做爬虫的时候,看到数据中有如下的数据:
Python3|Python3 编码转换
文章图片
文本如下:

è§?????¥?????o?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 = 'è§?????¥?????o?1???2???9???10???13??·?¥?' b = a.encode('iso-8859-1') print('b: ', b) c = b.decode() print('c: ', c)

【Python3|Python3 编码转换】结果如下:
Python3|Python3 编码转换
文章图片
缩略图:
Python3|Python3 编码转换
文章图片
成功解码!
链接 github:https://github.com/pandaomeng/blog
博客:https://pandaomeng.com

    推荐阅读