我一直试图找到一个在线转换器或Python3函数,用于转换html + hex格式的电子邮件地址,例如:%69%6efo ---> info
%69 : i
%6e : n
@ : @
(source: http://www.asciitable.com/)
...等等。
以下所有网站均未同时转换“单词”中组合的十六进制和html代码:
https://www.motobit.com/util/charset-codepage-conversion.asp
https://www.binaryhexconverter.com/ascii-text-to-binary-converter
https://www.dcode.fr/ascii-code
http://www.unit-conversion.info/texttools/ascii/
https://mothereff.in/binary-ascii
我将不胜感激任何建议。 Txs。
答案 0 :(得分:1)
根据您使用的Python版本,尝试html.unescape()
或HTMLParser#unescape
:https://stackoverflow.com/a/2087433/2675670
由于这是十六进制值和常规字符的混合,所以我认为我们必须提出一个自定义解决方案:
word = "%69%6efo"
while word.find("%") >= 0:
index = word.find("%")
ascii_value = word[index+1:index+3]
hex_value = int(ascii_value, 16)
letter = chr(hex_value)
word = word.replace(word[index:index+3], letter)
print(word)
也许有一种更简化的“ Pythonic”方式可以做到这一点,但它适用于测试输入。