Преобразование html+ шестнадцатеричного адреса электронной почты в читаемую строку Python 3
Я пытался найти онлайн-конвертер или функцию 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.
1 ответ
Пытаться html.unescape()
или же HTMLParser#unescape
в зависимости от используемой версии Python: /questions/6805178/dekodirovat-obektyi-html-v-stroku-python/6805192#6805192
Поскольку это смесь шестнадцатеричных значений и обычных символов, я думаю, что мы должны придумать собственное решение:
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" способ сделать это, но он работает для тестового ввода.