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 :
Si je copie cette chaîne dans le site internet http://www.rapidtables.com/convert/n...-to-ascii.html, j'obtiens :
Code : Sélectionner tout - Visualiser dans une fenêtre à part 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
J'ai pas mal cherché et sur internet, il y est écrit que les ligne suivante sont sensées fonctionner :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 K200599-12A ÿÿÿÿÿÿÿÿAAbA 19990
J'obtiens l'erreur suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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'ai également essayé avec
Code : Sélectionner tout - Visualiser dans une fenêtre à part UnicodeDecodeError: 'ascii' codec can't decode byte 0xff in position 12: ordinal not in range(128)ou avec utf-8 à la place d'ASCII mais j'ai toujours une erreur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part hex_string = "4B3230303539392D31324120FFFFFFFFFFFFFFFF414162410A3139393930"
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
Partager