[Tutor] Conversion question

Alan Gauld alan.gauld at btinternet.com
Tue May 5 01:52:11 CEST 2009


"Tom Green" <xchimeras at gmail.com> wrote

> Here is my question.  I work with a lot of sockets and most of them 
> require
> hex data.  I am usually given a string of data to send to the socket.
> Example:
>
> "414243440d0a"
>
> Is there a way in Python to say this is a string of HEX characters like
> Perl's pack?  Right now I have to take the string and add a \x to every 
> two
> values i.e. \x41\x42...

Assuming you actually want to send the hex values rather than
a hex string representation then the way I'd send that would be
to convert that to a number using int() then transmit it using
struct()

> Sometimes my string values are 99+ bytes in length.  I did write a 
> parsing
> program that would basically loop thru the string and insert the \x, but 
> I
> was wondering if there was another or better way.

OK, Maybe you do want to send the hex representation rather than
the actual data (I can't think why unless you have a very strange
parser at the other end). In that case I think you do need  to insert
the \x characters.


-- 
Alan Gauld
Author of the Learn to Program web site
http://www.alan-g.me.uk/ 




More information about the Tutor mailing list