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))
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.