codage hexadécimal vers chiffres normaux. Mais... - Divers - Programmation
Marsh Posté le 26-05-2010 à 19:30:46
C'est la partie "2b 09", 2347 écrit en hexa avec l'octet le moins significatif en premier.
Marsh Posté le 27-05-2010 à 01:41:31
"octet le moins significatif en premier" je comprend pas ce que cela signifi. J'ai chercher avec ça mais rien trouver qui puisse m'aider.
que faut il faire comme calculs pas trop compliquer pour trouver 2347 avec 2b 09 (ou a partir du binaire 00101011 00001001) ? J'aimerais comprendre comment y arriver.
Marsh Posté le 27-05-2010 à 10:54:58
2347 = 0x2b + 0x09 * 256 = (2 * 16 + 11) + (0 * 16 + 9) * 256
Marsh Posté le 27-05-2010 à 17:20:48
Mais comment tu obtient 11, 0, 2 et 9 ? et je présume que 16 et 256 sont communs quelque soit la valeur de mes codages hexa?
Marsh Posté le 27-05-2010 à 18:57:29
2b -> 2 = 2 b = 11
09 -> 0 = 0 9 = 9
Marsh Posté le 27-05-2010 à 21:42:12
Ok j'ai compris merci ! Mais tu a oublier 2 parentheses
Un Programmeur a écrit : 2347 = 0x2b + 0x09 * 256 = (2 * 16 + 11) + (0 * 16 + 9) * 256 |
= 13312
il aurait donc fallut plutot faire:
= (2 * 16 + 11) + ((0 * 16 + 9) * 256)
Et j'ai encore une derniere question:
si mon codage est constitué de 3 ou plus de couple de caracteres (je ne connais pas le terme exacte) comment je fait ? Et si il y en a qu'un ?
Exemple 1 : f2 03 c0
Exemple 2 : f2
Marsh Posté le 29-05-2010 à 18:59:14
Dites moi si je dit des bétise... (et dites moi aussi si je n'en dit pas! Ou si vous préférer, ne dites rien ). J'explique comment on fait pour les nuls (comme je n'est rien trouver sur le net je vais en profiter pour tout bien expliquer )
Alors mon codage hexadécimal est spécial. Un fichier que j'ouvre dans mes éditeurs hexa me donne la valeur de deux manière différente pour plusieurs nombre dans mon fichier. Pour l'un des nombre la valeur en chiffre normaux apparait en clair dans la colonne ASCII étendu, et pour l'autre je n'est que des caractères spéciaux dans la colonne ASCII étendu (c'est donc celui ci qu'il est difficile à décoder, normal mon nombre ne s'affiche pas en clair!).
Codage classique : 2347 = 23 33 34 37.
Codage "bissare" d'on je ne trouve nulle par aucun convertisseur ou table de conversion vers des chiffres normaux (si vous avez une adresse...) : 2347 = 2b 09
J'explique comment faire pour avoir des chiffres normaux avec ce dernier type d'affichage :
Alors on convertis la/les lettre(s) (s'il y en a une ou plusieurs) en décimal et cela vaut quelque soit sa/leurs position.
La lettre est en hexadecimal = convertis en décimal:
A = 10
B = 11
C = 12
D = 13
E = 14
F = 15
Exemple avec f2 03 (le "f" hexa vaut donc "15" en décimal).
(On garde 16 et 256 pour tout les calcules).
Et on ajoute simplement entre les deux caractère de chaque couple de notre codage hexa, un "x 16 +". Entre la valeur du f et du 2 et entre 0 et 3 donc
-> (15 x 16 + 2) + ((0 x 16 + 3) x 256) = 1010
f2 03 = 1010 !
Ou encore :
f2 03 = f(c1) 2(c2) 0(c3) 3(c4)
Valeur en chiffre normaux = (c1 x 16 + c2) + ((c3 x 16 + c4) x 256)
Voila. C'est tout bête.
Mots clés
hexadécimal en chiffres normaux. Codage hexadécimal particulier codage hexadécimal spécial codage hexadécimal étrange
Marsh Posté le 30-05-2010 à 09:16:20
Ce que tu appelles bizarre est l'hexadécimal normal:
http://fr.wikipedia.org/wiki/Notation_positionnelle
http://fr.wikipedia.org/wiki/Hexadecimal
Ce que tu appelles classique est un codage de caractères (et non de nombres, donc ce qui est codé ce sont des chiffres)
http://www.bourguet.org/v2/cs/charset/
Marsh Posté le 01-06-2010 à 18:11:14
j'ai été voir tes liens, merci (meme si j'ai pas tout compris!.. pas grave)
Marsh Posté le 26-05-2010 à 17:13:30
bonjour tout le monde
Ce genre de question a dut être poser de nombreuses fois mais mon code hexa semble different de ceux que j'ai put trouver... Donc je n'arrive pas à le décoder.
Et cela fait des heures que je cherche sur internet sans succes!
Voila ma question:
comment faire pour trouver 2347 dans le codage hexadecimal suivant:
? ? ?
Logiquement 2347 y ai car
1) je l'ai mis dans mon fichier lut par l'editeur hexa.
2) si je lance une recherche avec ce nombre dans mon éditeur exa (option de recherche "decimal" ) il me renvois sur ce code hexa.
Donc ce code represente bien 2347 mais comment en faire la conversion ?
Je precise que lorsque j'ouvre dans mon editeur hexa un simple fichier texte (.txt) avec 2347 à l'intérieur, il me l'affiche en clair a droite (ASCII Etendu je crois) et aussi j'arrive à décoder le code hexa pour en faire 2347 grace à une table "chiffre normaux" > "hexa" que j'ai trouver ici
Mais, avec le code hexa que je vous ai donner, je n'arrive à rien. Voila tout le problème...
---------------