I'm trying to convert a string of hex digits to a binary string. If my input string is 41424344, then I would want the string to store "ABCD". How can this be done?
You can do it without using regex with help of pack
:
print pack 'H*', '41424344';
Output:
ABCD
The canonical method is
$input_string =~ s/(..)/chr(hex($1))/ge;
This reads two characters at a time from the input, calling hex
(converting a hexidecimal number to a decimal number) and then chr
(converting a decimal number to a character) on each input.
s/([a-f0-9][a-f0-9])/chr(hex($1))/egi;
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With