将字符串中的所有字符转换为python中的ascii hex

时间:2013-03-08 14:23:26

标签: python ascii

只需查找python代码即可将所有字符从普通字符串(所有英文字母字母)转换为python中的ascii hex。我不确定我是否以错误的方式问这个问题,因为我一直在寻找这个,但似乎无法找到它。

我必须完成答案,但我会喜欢一些帮助。

只是澄清一下,从'地狱'到'\ x48 \ x65 \ x6c \ x6c'

4 个答案:

答案 0 :(得分:5)

我认为''.join(r'\x{02:x}'.format(ord(c)) for c in mystring)可以做到这一点......

>>> 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

答案 1 :(得分:4)

类似的东西:

>>> s = '123456'
>>> from binascii import hexlify
>>> hexlify(s)
'313233343536'

答案 2 :(得分:1)

尝试:

" ".join([hex(ord(x)) for x in myString])

答案 3 :(得分:0)

根据乔恩·克莱门茨的回答,尝试python3.7上的代码。 我有这样的错误:

>>> 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'

由以下代码解决:

>>> str = '1234'.encode()    
>>> hexlify(str).decode()   
'31323334'