Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris
 
PerlMonks  

Re: Printing byte as 2 Hex characters

by Eliya (Vicar)
on May 30, 2012 at 15:12 UTC ( #973318=note: print w/replies, xml ) Need Help??


in reply to Printing byte as 2 Hex characters

printf ("%lX ", $buffer);

You probably want ord:

printf ("0x%lX ", ord $buffer);

because what you have in $buffer is a single byte string, not a number.

A more direct way might be to use unpack "H*", ...

$ perl -E'say unpack "H*", "foobar"' 666f6f626172

or maybe unpack "(H2)*", ..., as in

$ perl -E'say "0x$_" for unpack "(H2)*", "foobar"' 0x66 0x6f 0x6f 0x62 0x61 0x72

in which case your buffer could consist of more than one byte.

Replies are listed 'Best First'.
Re^2: Printing byte as 2 Hex characters
by ShiningPerl (Novice) on May 30, 2012 at 16:02 UTC
    Thank you. This worked as intended.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://973318]
help
Chatterbox?
[ambrus]: "you are far more likely to be squished between two other dudes" => wait, really? aren't most planes, weighted by people traveling on it, so narrow that there are only two or three seats on each side of the one corridor, so only one third of the people ge
[ambrus]: t squished between two other people?
holli is about to take the first hit since a month and this weed is strong shit. Should my head explode, someone call 911.
[ambrus]: And even when I traveled on a big plane for a long flight, it had 3 seats, then corridor, then 4 seats, then corridor, then 3 seats, so less than half of the people sit between two other dudes.

How do I use this? | Other CB clients
Other Users?
Others exploiting the Monastery: (10)
As of 2017-12-18 13:39 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    What programming language do you hate the most?




















    Results (486 votes). Check out past polls.

    Notices?