Hexadecimals (perl)
Revision as of 08:00, 3 April 2005 by 161.253.9.181 (talk)
Data string to hex
# Convert data string to hex
my $a = "ZYXWVUT";
my $ax = unpack('H*',$a);
$ax eq '5a595857565554'
or die "ax=$ax";
# Each character always becomes two hex digits,
# even if the high half is 0
my $b = pack('C*',1,2,3,4,5,6,7,8);
my $bx = unpack('H*',$b);
$bx eq '0102030405060708'
or die "bx=$bx";
Hex string to data
# Convert hex back to data string
my $cx = "5a595857565554";
my $c = pack('H*',$cx);
$c eq 'ZYXWVUT'
or die "c=$c";
# That leading zero in hex is important
my $dx = '102030405060708';
my $d = pack('H*',$dx);
$d ne pack('C*',1,2,3,4,5,6,7,8)
or die "Forgotten leading zero didn't matter";