fonction str2hex [résolu]
#1
J'ai besoin d'une fonction pour convertir une chaîne de caractères en hexadécimal (ou en octal, je m'accomoderai de l'un comme de l'autre) et je sèche. Des idées ?
Répondre Avertir
#2
Avec les commandes scan et format non ?
tcl
proc str2hex { str } {
   set hex ''
   while { [scan $str %c letter] != -1 } {
      append hex [format %x $letter]
   }
   return $hex
}
proc str2oct { str } {
   set oct ''
   while { [scan $str %c letter] != -1 } {
      append oct [format %o $letter]
   }
   return $oct
}


Je ne suis vraiment pas certain de mon coup, mais c'est peut-être une piste.
Répondre
#3
J'avais déjà essayé un truc comme ça mais format %x attend un entier et non un caractère.

En plus, à vue de nez y'a rien qui fait avancer le while et ça va faire une boucle infinie.


Edit : j'ai trouvé la solution du côté de binary :
tcl
proc str2hex { str } {
 binary scan $str H* hex
 return hex
}


Répondre Avertir
#4
Ah oui, j'ai zappé un substring Smile

Il faudrait donc convertir ta chaine en valeurs ascii non ?
tcl
proc asc { char } {
   return [ scan $char "%c" ]
}
proc chr { num } {
   return [ format "%c" $num ]
}


Je ne vois pas tellement comment convertir 'toto' en hexa sinon.
Répondre
#5
J'ai trouvé la solution et édité mon message 2mn avant que tu ne valides ta réponse :p
Répondre Avertir


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)
Tchat 100% gratuit -Discutez en toute liberté