【发布时间】:2016-04-01 16:36:20
【问题描述】:
我在 js 中有以下字符串。
*"form-uploads/2015 Perry's Awärds Letter.jpg"*
它有一个ä 符号。
当我使用 btoa(在 chrome 中)在 js 中对其进行编码时,我得到以下信息: "Zm9ybS11cGxvYWRzLzIwMTUgUGVycnkncyBBd+RyZHMgTGV0dGVyLmpwZw=="
当我尝试在 python 中对其进行解码时,我得到以下信息:
In[16]: base64.b64decode('Zm9ybS11cGxvYWRzLzIwMTUgUGVycnkncyBBd+RyZHMgTGV0dGVyLmpwZw==')
Out[16]: "form-uploads/2015 Perry's Aw\xe4rds Letter.jpg"
所以 ä 迷路了,如果我尝试为 utf-8 解码该字符串,我会收到错误。
In[18]: base64.b64decode('Zm9ybS11cGxvYWRzLzIwMTUgUGVycnkncyBBd+RyZHMgTGV0dGVyLmpwZw==').decode('utf-8')
UnicodeDecodeError: 'utf8' codec can't decode byte 0xe4 in position 28: invalid continuation byte
i解码后如何在python代码中得到正确的utf-8ä?
【问题讨论】:
-
s.decode("base-64").decode("latin-1")会做同样的事情,你不需要导入库
标签: python unicode encoding utf-8 python-2.x