查找 base64 XML 字符串的第二个编码

Finding second encoding of base64 XML string

我在一些 XML 数据中有一些 base64 编码的文本字段。

为了正确显示所有字符,我想我需要找到用于此文本的附加编码,从外观上看它不是 UTF-8。 ?也许还有其他一些编码方面,不确定..

我不确定我应该在这里编码和解码什么顺序 - 以下 https://www.geeksforgeeks.org/encoding-and-decoding-base64-strings-in-python/ 我首先尝试:

  1. 用每个possible Python2.7 encoding编码整个字符串,然后
  2. 使用 base64 解码

(每次结果都一样,问题字符没有标准表示)

然后我尝试了:

  1. 使用 utf8 编码字符串
  2. 使用 base64 解码
  3. 用每个 possible Python2.7 encoding
  4. 解码字节字符串

但是,none 这些答案字符串似乎得到了问题字符的任何标准表示,应显示为“é”和“ü”。

我附上这个示例字符串,我确定最终正确的文本应该是什么。 原始 base64 字符串:b64_encoded_bytes = 'R3KfbmRlciBGco5kjnJpYyBKb3Vzc2V0JiMxMzsmIzEzO3NlbGVjdGlvbiBjb21taXR0ZWUgZm9yIGFydGlzdCByZWNpZGVuY3k6IFZpbmNpYW5jZSBEZXNwcmV0LCBLb3lvIEtvdW9oLCBDaHJpc3RpbmUgbWFjZWwsIEhhbnMtVWxyaWNoIE9icmlzdCwgTmF0YT9hIFBldHJlP2luLUJhY2hlbGV6LCBQaGlsaXBwZSBWZXJnbmU='

以正确的 'é' 和 'ü' 字符开头的文本字符串,根据欧洲语言知识推断:

'Gründer Frédéric Jousset

selection committee for artist recidency: Vinciance Despret, Koyo Kouoh, Christine macel, Hans-Ulrich Obrist, Nata?a Petre?in-Bachelez, Philippe Vergne'

注意“ ” HTML 是 Windows 中使用的明显换行符的编码,而 '?'也可能解析为具有正确编码的另一个正确字符,或者可能是“?”是原始数据中的实际显示。

好像是用mac_roman编码的:

>>> b64 = 'R3KfbmRlciBGco5kjnJpYyBKb3Vzc2V0JiMxMzsmIzEzO3NlbGVjdGlvbiBjb21taXR0ZWUgZm9yIGFydGlzdCByZWNpZGVuY3k6IFZpbmNpYW5jZSBEZXNwcmV0LCBLb3lvIEtvdW9oLCBDaHJpc3RpbmUgbWFjZWwsIEhhbnMtVWxyaWNoIE9icmlzdCwgTmF0YT9hIFBldHJlP2luLUJhY2hlbGV6LCBQaGlsaXBwZSBWZXJnbmU='
>>> bs = base64.b64decode(b64)
>>> bs
b'Gr\x9fnder Fr\x8ed\x8eric Jousset

selection committee for artist recidency: Vinciance Despret, Koyo Kouoh, Christine macel, Hans-Ulrich Obrist, Nata?a Petre?in-Bachelez, Philippe Vergne'
>>> print(bs.decode('mac_roman'))
Gründer Frédéric Jousset

selection committee for artist recidency: Vinciance Despret, Koyo Kouoh, Christine macel, Hans-Ulrich Obrist, Nata?a Petre?in-Bachelez, Philippe Vergne

“Nata?a Petre?in-Bachelez”中的问号出现在原始数据中,可能是先前 encoding/decoding 问题的结果。