Convertir un octet en sa représentation numérique et vise-versa
Résolu
Bonjour,
J'aimerai faire un système d'encodage en Python et j'aimerai pouvoir lire un fichier quelconque, et le lire octet par octet et récupérer pour chaque octet la représentation numérique (entre 0 et 255 du-coup)
Par exemple:
J'ouvre le fichier test.txt qui contient CCM
je récupère la représentation numérique de C (ex: 75), de C (ex: 75) et de M (ex: 85)
Je ne sais pas si je suis assez clair, mon code doit fonctionner pour tout type de fichier, donc pas de fonction qui altèrent les données comme bin etc..
Merci à vous
J'aimerai faire un système d'encodage en Python et j'aimerai pouvoir lire un fichier quelconque, et le lire octet par octet et récupérer pour chaque octet la représentation numérique (entre 0 et 255 du-coup)
Par exemple:
J'ouvre le fichier test.txt qui contient CCM
je récupère la représentation numérique de C (ex: 75), de C (ex: 75) et de M (ex: 85)
Je ne sais pas si je suis assez clair, mon code doit fonctionner pour tout type de fichier, donc pas de fonction qui altèrent les données comme bin etc..
Merci à vous
6 réponses
-
Contributeur Ambassadeurbonjour,
qu'as-tu essayé, sur quelle partie de l'exercice bloques-tu?
tu n'as pas expliqué ce que tu souhaitais que le programme fasse avec la représentation numérique de l'octet.-
-
Contributeur Ambassadeur@danieljsessecun exemple:
with open("test.txt", 'rb') as f: o=f.read(1) while o !=b"": i=int.from_bytes(o,byteorder='big') print(i) o=f.read(1)
-
-
Bonjour,
Votre réponse est exactement ce qu'il me fallait, je vous en remercie, sauriez-vous désormais comment je pourrai revenir en arrière ? de int à byte ? -
Ok tout simplement merci beaucoup !
Pour revenir à mon système d'encodage il fonctionne pas matrice, donc :
Est-ce possible de convertir en binaire sur 8 bits une int ? Et inversement de récupérer le int du binaire ? -
Bonjour,
Oui en effet c'est la même chose, au final j'ai tous les éléments pour réaliser mon projet, mise à part l'écriture d'un byte dans un fichier, ça se passe comment ? j'ouvre mon fichier en mode écriture binaire et je fais un simple write avec mon ou mes bytes ? -
En effet je viens de tester, ça fonctionne super bien, pour terminer vous sauriez s'il existe une technique ou une façon de faire pour lire les bytes d'un fichier deux par deux ?
-
Ou alors si on peut convertir un grand binaire (qu'importe sa taille) en une suite de byte ?
-
-
Oubliez ce que je viens de dire suffit de lire la doc de read() ;-)