Signaler

Convertir hexa ascii [Résolu/Fermé]

Posez votre question ludoo78 119Messages postés mercredi 13 décembre 2006Date d'inscription 9 septembre 2010 Dernière intervention - Dernière réponse le 22 août 2013 à 15:25 par iliass
Bonjour,

Je suis à la recherche d'un petit executable qui converti de l'hexadecimal vers l'ASCII, c'est à dire retrouvé un texte à partir d'une sequence de nombres hexadécimaux.

Merci beaucoup,

Ludo
Afficher la suite 
Utile
+5
plus moins
à mon avis, ça ira beaucoup plus vite de te faire ton petit exe en C++ que de le chercher sur le net... il suffit de convertir les nombres hexadécimaux 2 à 2 pour reconstituer les octets de ta chaine de caractères ACSII et d'enregistrer le tout dans un fichier .txt
Cette réponse vous a-t-elle aidé ?  
fm8041- 11 oct. 2011 à 11:25
http://www.string-functions.com/hex-string.aspx
Utile
+1
plus moins
bon, ton programme, tu veux qu'il fasse quoi? (arguments, retour, comportement (options), etc...)
Utile
+1
plus moins
Bonjour,

Plutôt que de l'hexadécimal, c'est du décimal puisqu'on ne retrouve que des valeurs de 0 à 9

Si on découpe par bloc de 2 on obtient :

079, 078, 078, 069, 086, 079, 073, 084, 066, 073, 069, 078, 081, 085, 065, 086, 069, 067, 076, 069, 067, 079, 069, 085, 082, 076, 069, 083, 083, 069, 078, 084, 073, 069, 076, 069, 083, 084, 073, 078, 086, 073, 083, 073, 066, 076, 069, 080, 079, 085, 082, 076, 069, 083, 089, 069, 085, 088,

Qui correspond aux caractères ascii :

ONNEVOITBIENQUAVECLECOEURLESSENTIELESTINVISIBLEPOURLESYEUX

C'est donc bien de l'auteur du Petit Prince

cdlt
Douky- 19 avril 2011 à 10:43
si c'est sa, mais il a tout simplement oublier les espaces ;)
jee pee 20757Messages postés mercredi 2 mai 2007Date d'inscription ModérateurStatut 29 mars 2017 Dernière intervention - 19 avril 2011 à 17:25
Vers la fin de la chaîne il y a un s , caractère qui n'existe pas en hexa :-))
imessam 5Messages postés mardi 11 octobre 2011Date d'inscription 12 octobre 2011 Dernière intervention - 11 oct. 2011 à 14:39
bonjour,
pourriez vous me décodé alors ça: 2D:7D:52:FE:46:0F:57:9E:BC:B3:CC:19:A8
merci d'avance
jee pee 20757Messages postés mercredi 2 mai 2007Date d'inscription ModérateurStatut 29 mars 2017 Dernière intervention - 11 oct. 2011 à 15:34
Ce n'est pas une chaine ascii

En gros les mots hexa doivent être compris dans les zones :

31 à 39 => 1 à 9
41 à 5a => A à Z
61 à 7a => a à z

et ne devraient pas dépasser 7F

cf : http://www.table-ascii.com/
Tequiem- 13 avril 2013 à 19:06
4c 65 20 6d 6f 74 20 64 65 20 70 61 73 73 65 20 65 73 74 20 3a 20 6b 69 6a 75 79 68
Utile
+0
plus moins
le truc c'est que la programmation, c'est pas trop mon truc. Pourriez vous m'aider la deçu.

Merci
Utile
+0
plus moins
il y a plus personne?
Quelqu'un pourrait-il me conseiller pour faire un petit programme qui me convertirait des données hexa en texte.
Please.
Utile
+0
plus moins
tu as une plateforme de développement? (genre Visual Studio)
Utile
+0
plus moins
oui, j'ai dev C++
Utile
+0
plus moins
un truc du genre :
#include <stdio.h>
int main(int argc, char** argv)
{
      unsigned int a,compt=0;
      char c,s[1024];
      while(1)
          {
           scanf("%x",&a);
           c=char(a);
           s[compt++]=c;
           }
      s[compt]='\0';
      printf("%s",s);
return 0;
}

?
J'ai pas testé, en particulier, le %x qui attend un entier hexadecimal non signé (ce que tu cherche).
J'utlise d'ailleur scanf plutôt que cin, à cause justement du %x précisant l'hexadecimal. Je ne sais pas si il y a l'équivalent dans iostream.
Utile
+0
plus moins
salut,

en allant sur http://le.wiki.free.fr/ tu récupères le fichier convertisseur.html et tu le copies sur ta machine, cela permet de faire toutes les conversions

cordialement
rhizoya- 14 févr. 2012 à 08:41
s"il vous plait est ce que vous pouvez m'aider à rendre cette clé hex en clé ascii voila la clé et merci beaucoup 80b4df89ee4c61089b99b6361b28de648218615e884b95fe3d87129a3de5885e
Utile
+0
plus moins
Merci pour tous.

CharSniper
Ton programme ne fonctionne pas je crois. Je vais essayer de le comprendre pour voir ce qui va pas (c'est pas une mince affaire lol)

SebManfred
Mon programme je veux qu'en entrée je lui donne une sequence (plus ou moins longue) en hexadecimal et qu'il me donne la convertion en chaine de caractere ASCII.

jee pee,
Ton convertisseur n'est pas très efficace, qu'en la séquence est trop longue, il renvoi n'importe quoi.
jee pee 20757Messages postés mercredi 2 mai 2007Date d'inscription ContributeurStatut 29 mars 2017 Dernière intervention - 18 janv. 2008 à 17:51
c'est combien trop long ?

chaque caractère hexa doit être séparé par un blanc, une virgule :

Tiens un poeme que j'aime :

42, 61, 75, 64, 65, 6c, 61, 69, 72, 65, 20, 3a, 20, c0, 20, 75, 6e, 65, 20, 50, 61, 73, 73, 61, 6e, 74, 65, 0a, 0a, 0a, 20, 20, 09, 4c, 61, 20, 72, 75, 65, 20, 61, 73, 73, 6f, 75, 72, 64, 69, 73, 73, 61, 6e, 74, 65, 20, 61, 75, 74, 6f, 75, 72, 20, 64, 65, 20, 6d, 6f, 69, 20, 68, 75, 72, 6c, 61, 69, 74, 2e, 0a, 4c, 6f, 6e, 67, 75, 65, 2c, 20, 6d, 69, 6e, 63, 65, 2c, 20, 65, 6e, 20, 67, 72, 61, 6e, 64, 20, 64, 65, 75, 69, 6c, 2c, 20, 64, 6f, 75, 6c, 65, 75, 72, 20, 6d, 61, 6a, 65, 73, 74, 75, 65, 75, 73, 65, 2c, 0a, 55, 6e, 65, 20, 66, 65, 6d, 6d, 65, 20, 70, 61, 73, 73, 61, 2c, 20, 64, 27, 75, 6e, 65, 20, 6d, 61, 69, 6e, 20, 66, 61, 73, 74, 75, 65, 75, 73, 65, 0a, 53, 6f, 75, 6c, 65, 76, 61, 6e, 74, 2c, 20, 62, 61, 6c, 61, 6e, e7, 61, 6e, 74, 20, 6c, 65, 20, 66, 65, 73, 74, 6f, 6e, 20, 65, 74, 20, 6c, 27, 6f, 75, 72, 6c, 65, 74, 20, 3b, 0a, 0a, 41, 67, 69, 6c, 65, 20, 65, 74, 20, 6e, 6f, 62, 6c, 65, 2c, 20, 61, 76, 65, 63, 20, 73, 61, 20, 6a, 61, 6d, 62, 65, 20, 64, 65, 20, 73, 74, 61, 74, 75, 65, 2e, 0a, 4d, 6f, 69, 2c, 20, 6a, 65, 20, 62, 75, 76, 61, 69, 73, 2c, 20, 63, 72, 69, 73, 70, e9, 20, 63, 6f, 6d, 6d, 65, 20, 75, 6e, 20, 65, 78, 74, 72, 61, 76, 61, 67, 61, 6e, 74, 2c, 0a, 44, 61, 6e, 73, 20, 73, 6f, 6e, 20, 6f, 65, 69, 6c, 2c, 20, 63, 69, 65, 6c, 20, 6c, 69, 76, 69, 64, 65, 20, 6f, f9, 20, 67, 65, 72, 6d, 65, 20, 6c, 27, 6f, 75, 72, 61, 67, 61, 6e, 2c, 0a, 4c, 61, 20, 64, 6f, 75, 63, 65, 75, 72, 20, 71, 75, 69, 20, 66, 61, 73, 63, 69, 6e, 65, 20, 65, 74, 20, 6c, 65, 20, 70, 6c, 61, 69, 73, 69, 72, 20, 71, 75, 69, 20, 74, 75, 65, 2e, 0a, 0a, 55, 6e, 20, e9, 63, 6c, 61, 69, 72, 2e, 2e, 2e, 20, 70, 75, 69, 73, 20, 6c, 61, 20, 6e, 75, 69, 74, 20, 21, 20, 2d, 20, 46, 75, 67, 69, 74, 69, 76, 65, 20, 62, 65, 61, 75, 74, e9, 0a, 44, 6f, 6e, 74, 20, 6c, 65, 20, 72, 65, 67, 61, 72, 64, 20, 6d, 27, 61, 20, 66, 61, 69, 74, 20, 73, 6f, 75, 64, 61, 69, 6e, 65, 6d, 65, 6e, 74, 20, 72, 65, 6e, 61, ee, 74, 72, 65, 2c, 0a, 4e, 65, 20, 74, 65, 20, 76, 65, 72, 72, 61, 69, 2d, 6a, 65, 20, 70, 6c, 75, 73, 20, 71, 75, 65, 20, 64, 61, 6e, 73, 20, 6c, 27, e9, 74, 65, 72, 6e, 69, 74, e9, 20, 3f, 0a, 0a, 41, 69, 6c, 6c, 65, 75, 72, 73, 2c, 20, 62, 69, 65, 6e, 20, 6c, 6f, 69, 6e, 20, 64, 27, 69, 63, 69, 20, 21, 20, 74, 72, 6f, 70, 20, 74, 61, 72, 64, 20, 21, 20, 6a, 61, 6d, 61, 69, 73, 20, 70, 65, 75, 74, 2d, ea, 74, 72, 65, 20, 21, 0a, 43, 61, 72, 20, 6a, 27, 69, 67, 6e, 6f, 72, 65, 20, 6f, f9, 20, 74, 75, 20, 66, 75, 69, 73, 2c, 20, 74, 75, 20, 6e, 65, 20, 73, 61, 69, 73, 20, 6f, f9, 20, 6a, 65, 20, 76, 61, 69, 73, 2c, 0a, d4, 20, 74, 6f, 69, 20, 71, 75, 65, 20, 6a, 27, 65, 75, 73, 73, 65, 20, 61, 69, 6d, e9, 65, 2c, 20, f4, 20, 74, 6f, 69, 20, 71, 75, 69, 20, 6c, 65, 20, 73, 61, 76, 61, 69, 73, 20, 21, 0a, 0a, 0a, 43, 68, 61, 72, 6c, 65, 73, 20, 42, 41, 55, 44, 45, 4c, 41, 49, 52, 45, 20, 28, 31, 38, 32, 31, 2d, 31, 38, 36, 37, 29, 0a, 28, 4c, 65, 73, 20, 66, 6c, 65, 75, 72, 73, 20, 64, 75, 20, 6d, 61, 6c, 29, 0a, 20,

et qui marche en conversion, dans les 2 sens, ascii -> hexa et hexa->ascii :-)

Char Snipeur 9661Messages postés vendredi 23 avril 2004Date d'inscription ContributeurStatut 5 janvier 2017 Dernière intervention - 21 janv. 2008 à 08:31
Non, bien sur il ne fonctionne pas, c'était une ébauche dont tu pouvais t'inspirer. En particulier, je sais pas si tu veux utiliser les entree sorties standard ou des fichiers. En tout cas, une fois fini il fonctionne :
#include <stdio.h>
int main(int argc, char** argv)
{
      unsigned int a,compt=0,n;
      char c,s[1024];
      scanf("%d",&n);
      for(n;n>0;n--)
          {
           scanf("%x",&a);
           c=char(a);
           s[compt++]=c;
           }
      s[compt]='\0';
      printf("%s",s);
      scanf("%d",&n);
      return 0;
}
Mais c'est pareil, il faut séparer chaque caractère hexadecimal soit par une espace, soit par un retour à la ligne.
backeita- 11 nov. 2010 à 19:33
Bonjour
j'ai essayé d'entrer votre code mais la compilation bloque sur c=char(a);
J'ai essayé de voir pourquoi mais j'ai rien vu.
Est-ce-que vous pouvez m'aider?
Char Snipeur 9661Messages postés vendredi 23 avril 2004Date d'inscription ContributeurStatut 5 janvier 2017 Dernière intervention - 17 janv. 2011 à 08:25
quel est le message d'erreur ?
Utile
+0
plus moins
Merci bien pour tous ça

C'est vrai que ça aurait été interessant de pouvoir convertir directement depuis un fichier hexadecimal.
Que faut-il remplacer pour cela?

Merci
Utile
+0
plus moins
pour lire à partir d'un fichier hexadecimal en ASCII (c'est à dire lisible "1A F3 ..." par un humain) il suffit soit de faire une indirection lors de l'appel au programme, soit utiliser fscanf() à la place de scanf().
Utile
+0
plus moins
ok ok merci pour tous les mecs
j'ai réussi à avoirce que je veux grace à vous
++
Utile
+0
plus moins
tu as aussi powershell !

[code]
Function HexIt($a)
{return "{0:X}" -f $a}

Function IntToBaseTwo($value, [string]$bits='') {
$remainder = $value % 2
$bits = [string]$remainder + $bits
$value = ($value - $remainder) / 2
if($value -gt 0) { IntToBaseTwo $value $bits }
else { $bits }
}

Function word2int([System.String]$word)
{$word.GetEnumerator() | foreach {[int][char]$_}}
Function convertword($word)
{
word2int $word
word2int $word | foreach {hexit($_)}
word2int $word | foreach {intTobaseTwo($_)}
}


[/code]

un mot dont les caracteres sont convertis en entier , entiers en hexa et binaire ^^
Utile
+0
plus moins
Bonjour,

Je suis un peu bloquée par une énigme qui requiert des compétences que je n'ai pas ...

Il faudrait traduire un texte codé (je pense en hexadécimal car il semble qu'il y ait un rapport avec le Petit Prince d'Antoine de Saint Exupéry).

Si je vous donne la liste de chiffres, est-il possible que quelqu'un me le traduire en "bon français" compréhensible pour la nuche que je suis ?

Voilà l'objet de mon tourment :

7978-7869-86797384-66736978-8185-65866967-
7669-6779698582-76-698383697884736976-698384-
737886738373667669-80798582-766983-89698588.

Il parait que ça veut dire quelque chose ...

Merci aux bonnes volontés.
Utile
+0
plus moins
Bonjour,

j'ai pu déchiffrer le code grâce à ce site http://www.table-ascii.com, mais ça n'a rien avoir avec ce que je cherche, bizarre et insensé.

merci à vous.
Utile
+0
plus moins
Bonjour à tous,

Je cherche à traduire quelque chose :
6D 65 72 63 69 2C 20
74 75 20 6D 65 20 6D
61 6E 71 75 65 73

Je ne sais pas si c'est de l'hexadécimal ou quoi et je n'y connais rien du tout dans ce domaine, je ne sais même pas si ça veut dire quelque chose!!
Mais si quelqu'un pouvait essayer de me le traduire ce serait super gentil!! Voila merci beaucoup!!
nicocorico 808Messages postés dimanche 19 juin 2011Date d'inscription 29 octobre 2016 Dernière intervention - 10 mars 2013 à 10:13
C'est simplement en ascii et ça donne «merci, tu me manques»
iliass- 22 août 2013 à 15:25
traduirer moi 1EDAA8AFFD69C781DC24AA

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !