J'essaie de convertir une chaîne de chiffres hexagonales en une chaîne binaire. Si ma chaîne d'entrée est 41424344, je voudrais que la chaîne stocke "ABCD". Comment cela peut-il être fait? P>
3 Réponses :
La méthode canonique est ceci lit deux caractères à la fois de l'entrée, appelant hex code> (convertir un nombre hexidécimal en un nombre décimal), puis
chr code> (convertir un nombre décimal en un caractère) sur chaque entrée. p> p>
@DAXIM - citant quoi que ce soit de canon dans les risques de Perl commençant une guerre sainte et je respecte votre différence d'opinion. Le module cgi code> utilise actuellement le
... / chr hex $ 1 / GE CODE> idiome, mais sur des recherches supplémentaires, je constate que sa technique à UNESCAPISE HTML a parcouru de nombreuses autres incarnations.
Lincoln Stein, le créateur de CGI.PM, était autrefois Canonical. Il a inventé des moyens de faire des choses que personne d'autre n'utiliserait. :)
s/([a-f0-9][a-f0-9])/chr(hex($1))/egi;
Vous pouvez le faire sans utiliser regex avec l'aide de sortie: p> pack code> A>: