Just looking for python code that can turn all chars from a normal string(all english alphbetic letters) to ascii hex in python. I'm not sure if I'm asking this in the wrong way because i've been searching for this but can't seem to find this.
I must just be passing over the answer, but i would love some help.
Just to clarify, from 'Hell' to '\x48\x65\x6c\x6c'
I suppose ''.join(r'\x{02:x}'.format(ord(c)) for c in mystring)
would do the trick...
>>> mystring = "Hello World"
>>> print ''.join(r'\x{02:x}'.format(ord(c)) for c in mystring)
\x48\x65\x6c\x6c\x6f\x20\x57\x6f\x72\x6c\x64
Based on Jon Clements's answer, try the codes on python3.7. I have the error like this:
>>> s = '1234'
>>> hexlify(s)
Traceback (most recent call last):
File "<pyshell#13>", line 1, in <module>
hexlify(s)
TypeError: a bytes-like object is required, not 'str'
Solved by the following codes:
>>> str = '1234'.encode()
>>> hexlify(str).decode()
'31323334'
Something like:
>>> s = '123456'
>>> from binascii import hexlify
>>> hexlify(s)
'313233343536'
Try:
" ".join([hex(ord(x)) for x in myString])
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With