HEX to ASCII

Peter Otten __peter__ at web.de
Sun Oct 6 15:31:16 EDT 2013


markotaht at gmail.com wrote:

>  problem is : Traceback (most recent call last):
>   File "C:\Users\Marko\Desktop\hacker.org\XOR cypher.py", line 35, in
>   <module>
>     print("Key-" + str(võti) + ": " + str("".join(tulemus2)))
> TypeError: sequence item 0: expected str instance, bytes found
> 
> If i  take away the join command i get this:
>  Key-00000000: [b'u', b'o', b'\x00', b'\x1d', b' ', b'|', b'N', b'\x0f',
>  b'9', b'j', b'K', b'J', b'&', b'#', b'A', b'K', b'5', b'k', b'_',
>  b'\x1e', b',', b'j', b'\x0c', b'\x08', b'i', b'(', b'\x06', b'\\', b'r',
>  b'3', b'\x1f', b'V', b's', b'9', b'\x1d']
> 
> the Key-00000000 is the key im using to decrypt the code. everything else
> is generated by the decrytion process and the unhexlify command. So my
> guess is, the join command cant handle the b"u" type of format. how can i
> get rid of the b.

On the contrary, you need one more b prefix:

>>> tulemus2 = [b'u', b'o', ...]
>>> b"".join(tulemus2)
b'uo\x00\x1d |N\x0f9jKJ&#AK5k_\x1e,j\x0c\x08i(\x06\\r3\x1fVs9\x1d'

> Or does anyone have a better idea how to translate HEX into ASCII and sort
> out the lines that make sense

That is very likely, but you have to be specific about the input data and 
what "makes sense" as the output.

If you start with a hexdump of binary data you already have the human-
readable form, and binascii.unhexlify() will convert it back to the 
"unreadable" binary form.




More information about the Python-list mailing list