Convertir hexa ascii
Résolu
ludoo78
Messages postés
118
Statut
Membre
-
iliass -
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
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
17 réponses
-
à 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
-
bon, ton programme, tu veux qu'il fasse quoi? (arguments, retour, comportement (options), etc...)
-
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
-
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. -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
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. -
le truc c'est que la programmation, c'est pas trop mon truc. Pourriez vous m'aider la deçu.
Merci -
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. -
tu as une plateforme de développement? (genre Visual Studio)
-
-
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 -
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.-
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 :-)
-
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. -
-
-
-
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 -
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().
-
ok ok merci pour tous les mecs
j'ai réussi à avoirce que je veux grace à vous
++ -
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 ^^ -
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. -
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!!