如何用 python 编码将 %E4 翻译成 ä

How to encode with python to translate %E4 to ä

我需要将字符串转换成另一种编码,我认为是 Windows1252,但不确定。

字符将是:

%E4 = ä
%F6 = ö

我尝试了 urlencode、quote、quote_plus、编码...都没有成功。

也许我使用了错误的编码?

'mausebär'.encode('Windows-1252')

应该变成:

'mauseb%e4r'

知道如何使用相同的字符集进行编码吗?

您正在寻找使用 CP-1252(也称为 Windows-1252)编码的 URL 引用。您可以将 urllib.parse.quoteencoding 参数一起使用:

>>> import urllib.parse
>>> urllib.parse.quote('ä', encoding='cp1252')
'%E4'
>>> urllib.parse.quote('ö', encoding='cp1252')
'%F6'

关于 URL 引用的主要问题:How to percent-encode URL parameters in Python?