Mise en forme de code: pensez à utiliser les balises [ tcl ] et [ /tcl ] (sans les espaces bien sûr) autour de vos codes tcl afin d'avoir un meilleur rendu et une coloration syntaxique. x


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 ?
Toute l'actualité de mes scripts ici     (dernière mise à jour le 22/04/2020)

Tout programme comporte au moins un bug et pourrait être raccourci d'au moins une instruction, de quoi l'on peut déduire que tout programme peut être réduit à une seule instruction qui ne fonctionne pas.
#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.
irc.zeolia.net - Offrez-moi un café
Merci de ne pas demander d'aide en MP
Away
#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
}

Toute l'actualité de mes scripts ici     (dernière mise à jour le 22/04/2020)

Tout programme comporte au moins un bug et pourrait être raccourci d'au moins une instruction, de quoi l'on peut déduire que tout programme peut être réduit à une seule instruction qui ne fonctionne pas.
#4
Ah oui, j'ai zappé un substring :)

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.
irc.zeolia.net - Offrez-moi un café
Merci de ne pas demander d'aide en MP
Away
#5
J'ai trouvé la solution et édité mon message 2mn avant que tu ne valides ta réponse :p
Toute l'actualité de mes scripts ici     (dernière mise à jour le 22/04/2020)

Tout programme comporte au moins un bug et pourrait être raccourci d'au moins une instruction, de quoi l'on peut déduire que tout programme peut être réduit à une seule instruction qui ne fonctionne pas.


Possibly Related Threads…
Thread Author Replies Views Last Post
  Fonction banlist MewT 2 3,448 23/11/2010, 17:56
Last Post: MewT
  Autosajoin en fonction des pseudos et vhost. BlackNight 22 11,672 11/05/2010, 03:23
Last Post: BlackNight

Forum Jump:


Users browsing this thread: 1 Guest(s)