Some how perl doesn't allow me to unpack like this (look at H2 H2 H16 H2 A2 ...) ... Any idea how this could be done?
I showed you how. What you're dealing is a text-strings, so if you want bytes, you have to pack them. First pack them to get bytes ( pack 'H*' ) then pack them to get what you're really after ( C An unsigned char (octet) value. ) .....
Commands
perl -le " print unpack q{H*}, q{Y} " perl -le " print pack q{H*}, q{59} " perl -le " print ord q{Y} perl -le " print pack q{H*}, q{59} " perl -le " print unpack q{C}, pack q{H*}, q{59} "
Session
$ perl -le " print unpack q{H*}, q{Y} " 59 $ perl -le " print pack q{H*}, q{59} " Y $ perl -le " print ord q{Y} 89 $ perl -le " print pack q{H*}, q{59} " Y $ perl -le " print unpack q{C}, pack q{H*}, q{59} " 89
Y encoded as hex is 59
The numeric value ( ord ) of Y is 89
The C An unsigned char (octet) value, 8-bits, 1-byte of Y is 89
In reply to Re^3: Handling Hex data with Dynamic unpack
by Anonymous Monk
in thread Handling Hex data with Dynamic unpack
by PerlJedi
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |