Convertir une string contenant le caractère hexa '0xFF' en ASCII
Bonjour à tous,
Tout d'abord, j'utilise Python 3.8.2
J'aimerai convertir une chaîne de caractère de l'hexa vers l'ASCII.
La chaîne est la suivante :
Code:
4B 32 30 30 35 39 39 2D 31 32 41 20 FF FF FF FF FF FF FF FF 41 41 62 41 0A 31 39 39 39 30
Si je copie cette chaîne dans le site internet http://www.rapidtables.com/convert/n...-to-ascii.html, j'obtiens :
Code:
1 2
| K200599-12A ÿÿÿÿÿÿÿÿAAbA
19990 |
J'ai pas mal cherché et sur internet, il y est écrit que les ligne suivante sont sensées fonctionner :
Code:
1 2
| hex_string = "4B 32 30 30 35 39 39 2D 31 32 41 20 FF FF FF FF FF FF FF FF 41 41 62 41 0A 31 39 39 39 30"
bytes.fromhex(hex_string).decode("ASCII") |
J'obtiens l'erreur suivante :
Code:
UnicodeDecodeError: 'ascii' codec can't decode byte 0xff in position 12: ordinal not in range(128)
J'ai également essayé avec
Code:
hex_string = "4B3230303539392D31324120FFFFFFFFFFFFFFFF414162410A3139393930"
ou avec utf-8 à la place d'ASCII mais j'ai toujours une erreur.
J'ai regardé des dizaines de forum sur la question du byte "0xFF" en ASCII ou UTF-8. A chaque fois, la solution fait intervenir le fait de parcourir le fichier à convertir différemment mais je n'ai pas de fichier ; ou bien d'utiliser UTF-16 mais je n'obtiens que des "???????" en résultat...
Sur le lien partagé ci-dessus, tout est simple : avec l'encodage ASCII, on obtient directement le résultat.
Est-ce également possible sur Python ?
En attendant vos réponses, je vous souhaite une très bonne journée :)
Bien cordialement, WD