|
Publicité | ||||||||||||||||||||||
|
|
#1 | ||||
|
Membre habitué
![]() Inscription : février 2004 Messages : 320 ![]() |
salut,
je dois passer à qqch de gros, mais google ne m'aide pas bcp sur ce coup je souhaite mettre le nombre 369001 en binaire dans mon fichier. soit 5A169 en hexa je veux faire ca avec ubuntu en ligne de commande. il est rapidement apparu que je devais utiliser hexedit pour faire ca. Code :
Code :
et du coup, ben qd on utilise od -d pour afficher la version décimale de 05 A1 69 et ben on arrive à qqch de completement différent on dirait que je n'écris pas les octets dans le bon ordre (une histoire de endian ?) qqn peut m'éclairer sur comment utiliser correctement hexedit et od ? j'en perds mon latin
|
||||
|
|
00
|
|
|
#2 | ||
|
Expert Confirmé
![]() Inscription : février 2008 Messages : 1 896 ![]() |
Je ne comprend rien à ton message.
Simplement : - que contient ton fichier - que doit être aficher ? A tout hasard : Code :
? |
||
|
|
00
|
|
|
#3 | |
|
Membre habitué
![]() Inscription : février 2004 Messages : 320 ![]() |
bon déjà merci pour les tips. je n'ai pas l'accès à la console sous la main mais je vais tester tt ca tres bientot
Citation:
dans l'ordre que contient mon fichier ? pour le moment rien puisque je n'arrive pas à le créer correctement je crois. il doit contenir l'entier 369001, en binaire. pas la séquence de caractères "369001" (6 octets) mais bien le nombre 369001 qui devrait tenir sur 3 octets je pense. malheureusement 369001 en binaire ne peut etre converti en caractères ascii affichables. je comptais créer ce fichier en l'éditant avec un éditeur hexa mais je n'arrive pas à me servir efficacement de hexedit. que doit etre affiché ? c'est finalement moins interessant car le fichier ainsi créé me servira à un test unitaire. mais qd meme, j'aurais de tte facon besoin d'afficher le résultat du test unitaire qui sera au mm format je pense. je voudrais savoir afficher simplement le contenu du fichier (mais pas en texte puisque ca n'est pas affichable). d'où l'idée d'arriver à l'afficher à la console avec od je pensais qu'un od -x monfichier m'afficherait l'équivalent hexa 369001 cad 5A169. je pensais qu'un od -d monfichier m'afficherait 369001 mais bon je galère un peu là. est-ce plus clair maintenant ? |
|
|
|
00
|
|
|
#4 | ||||
|
Membre habitué
![]() Inscription : février 2004 Messages : 320 ![]() |
j'ai été eu -- comme tant d'autres avant moi -- par nos amis les big & little endian
en effet si le nombre 369001 est bien 0x5A169 en notation hexa lorsqu'on l'enregistre dans hexedit il faut saisir les octets A L'ENVERS pour qu'ils soient correctement convertis derrière par od il doit y avoir une feinte pour dire à od de lire le contenu du fichier en mode big ou little endian, mais je ne l'ai pas trouvé du coup dans hexedit on saisit 69 A1 05 (à l'envers donc) coté od ca donne en hexa Code :
Code :
bref. si qqn a un tips pour faire en sorte que lorsque od calcule des entiers il "comprenne" la data en big endian au lieu de little endian, je suis preneur |
||||
|
|
00
|
|
|
#5 |
|
Membre habitué
![]() Inscription : février 2004 Messages : 320 ![]() |
pour info j'ai observé le meme comportement de od sur cygwin :
$ od --version od (GNU coreutils) 7.0 et sur un ubuntu 8.04 : $ od --version od (GNU coreutils) 6.10 |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com