【问题标题】:Python problem with accents when decoding from base64 [duplicate]从base64解码时重音的Python问题[重复]
【发布时间】:2022-01-21 03:53:34
【问题描述】:

我正在从网站获取数据,这是我检索到的句子的示例:PHA+Q29ycmlnJmVhY3V0ZTtzIGV4ZXJjaWNlcyBlbnRyYWluZW1lbnQgY2hhcGl0cmUgbW91dmVtZW50IGV0IGZvcmNlczwvcD4K

这句话是用base64编码的,所以我想把它解码,然后用python把它编码回utf-8:

import base64

sentence = "PHA+Q29ycmlnJmVhY3V0ZTtzIGV4ZXJjaWNlcyBlbnRyYWluZW1lbnQgY2hhcGl0cmUgbW91dmVtZW50IGV0IGZvcmNlczwvcD4K"
base64.b64decode(sentence).decode("utf-8")

问题是它看起来像这样:"Corrigés exercices entrainement chapitre mouvement et forces",而不是像这样:"Corrigés exercices entrainement chapitre mouvement et forces"

如您所见,口音完全搞砸了。

我正在使用 python 3

我无法使用 API 访问解码后的句子(我只有 base64 编码的句子)。

感谢您的帮助。

【问题讨论】:

标签: python base64 decode


【解决方案1】:

如果有人不了解 HTML 实体(就像我一样)并且需要答案。

感谢 Amadan 的评论,我才知道我得到的奇怪东西不是我的口音,而是称为 HTML 实体。

为了找回我的口音,我需要取消它:

import html

print(html.unescape("Corrigés exercices entrainement chapitre mouvement et forces"))

>> Corrigés exercices entrainement chapitre mouvement et forces

【讨论】:

    猜你喜欢
    • 2021-04-01
    • 2019-12-17
    • 2015-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多