遇到一个很诡异的 base64 字符串, Python 无法解码

查看 32|回复 0
作者:tg11   
base64 转二进制后,二进制无法解码成正常字符串。
我尝试了以下这几种编码,都无法解码:
utf8 、ISO-8859-5 、KOI8-R 、Windows-1251 、IBM855
但用 js 前端可以正常解码,是一串西里尔字母。
原码如下:
# -*- coding: utf-8 -*-
import base64
import chardet
a = '0JLQvtC70LXQudCx0L7Quy4g0KfQtdC80L/QuNC+0L3QsNGCINCg0L7RgdGB0LjQuC4gUGFyaSDQodGD0L/QtdGA0LvQuNCz0LAuINCc0YPQttGH0LjQvdGLLiAi0JvQvtC60L7QvNC+0YLQuNCyIiAo0J3QvtCy0L7RgdC40LHQuNGA0YHQuikgLSAi0JTQuNC90LDQvNC+LdCb0J4iICjQm9C10L3QuNC90LPRgNCw0LTRgdC60LDRjyDQvtC=='
def base64decode(base64_str):
    if '==' not in base64_str:
        base64_str = base64_str + '=='
    bytes_str = base64.b64decode(base64_str)
    print(bytes_str)
    encoding = chardet.detect(bytes_str)['encoding']
    return bytes_str.decode(encoding=encoding)
print(base64decode(a))
您需要登录后才可以回帖 登录 | 立即注册

返回顶部