htmlCodes = (
('%20', ' '),
('%21', '!'),
('%22', '"'),
('%23', '#'),
('%24', '$'),
('%25', '%'),
('%26', '&'),
('%27', "'"),
('%28', '('),
('%29', ')'),
('%2A', '*'),
('%2B', '+'),
('%2C', ','),
('%2D', '-'),
('%2E', '.'),
('%2F', '/'),
('%30', '0'),
('%31', '1'),
('%32', '2'),
('%33', '3'),
('%34', '4'),
('%35', '5'),
('%36', '6'),
('%37', '7'),
('%38', '8'),
('%39', '9'),
('%3A', ':'),
('%3B', ';'),
('%3C', '<'),
('%3D', '='),
('%3E', '>'),
('%3F', '?'),
('%40', '@'),
)
[docs]
def html_decode(s: str) -> str:
"""Takes an HTML encoded string and decodes it
@param s: HTML encoded string
@return: Decoded string
"""
for code in htmlCodes:
s = s.replace(code[0], code[1])
return s