From: [email protected]
[mailto:[email protected]] On Behalf Of Greg
Aiken
Sent: 23 November 2010 21:44
To: [email protected]
Subject: how to best convert an array containing hexadecimal values to
asciivalue?
> and im kind of lost with pack... ive unsuccessfully tried...
>
> $ascii_string = pack("H*", @hex_array) and
> $ascii_string = pack("h*", @hex_array)
>
> but neither yields the proper output.
>
> I know I could write an ultra low level code that directly converts each hex
> byte to decimal, then call chr
> with the decimal value, but certainly that's 'too much work' in perl.
>
> any help would be appreciated.
>
> it would be as if were starting with
>
> @hex_array = ('5c','00','3f','00','3f','00','5c','00','53','00',...);
Your are not too far out with pack, as it happens, but you haven't got it quite
right. Your template only unpacks the first string in the array. Try:
$ascii_string = pack("(H2)*", @hex_array);
Have another read through 'perldoc -f pack'. I usually have to whenever I use
it.
Also, I notice that all of your characters seem to be followed by a null byte.
Are these perhaps 16 bit characters, or will you strip the null bytes out at
some point?
--
Brian Raven
Please consider the environment before printing this e-mail.
This e-mail may contain confidential and/or privileged information. If you are
not the intended recipient or have received this e-mail in error, please advise
the sender immediately by reply e-mail and delete this message and any
attachments without retaining a copy.
Any unauthorised copying, disclosure or distribution of the material in this
e-mail is strictly forbidden.
_______________________________________________
Perl-Win32-Users mailing list
[email protected]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs