7
votes

Perl Hex String to Binary String

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?


0 commentaires

3 Réponses :


1
votes

La méthode canonique est xxx

ceci lit deux caractères à la fois de l'entrée, appelant hex (convertir un nombre hexidécimal en un nombre décimal), puis chr (convertir un nombre décimal en un caractère) sur chaque entrée.


2 commentaires

@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 utilise actuellement le ... / chr hex $ 1 / GE 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. :)



1
votes
s/([a-f0-9][a-f0-9])/chr(hex($1))/egi;

0 commentaires

15
votes

Vous pouvez le faire sans utiliser regex avec l'aide de pack : xxx

sortie: xxx


0 commentaires