Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python中将字符串中的所有字符转换为ascii十六进制_Python_Ascii - Fatal编程技术网

在python中将字符串中的所有字符转换为ascii十六进制

在python中将字符串中的所有字符转换为ascii十六进制,python,ascii,Python,Ascii,只需要寻找python代码,它可以将python中的所有字符从普通字符串(所有英文字母)转换为ascii十六进制。我不确定我是否问错了,因为我一直在寻找这个,但似乎找不到 我一定是在传递答案,但我希望能得到一些帮助 我想澄清一下,从'Hell'到'\x48\x65\x6c\x6c'我想'.join(r'\x{02:x}.mystring中c的格式(ord(c))就可以了 >>> mystring = "Hello World" >>> print ''.joi

只需要寻找python代码,它可以将python中的所有字符从普通字符串(所有英文字母)转换为ascii十六进制。我不确定我是否问错了,因为我一直在寻找这个,但似乎找不到

我一定是在传递答案,但我希望能得到一些帮助

我想澄清一下,从'Hell'到'\x48\x65\x6c\x6c'

我想
'.join(r'\x{02:x}.mystring中c的格式(ord(c))
就可以了

>>> 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
尝试:

比如:

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

根据Jon Clements的答案,尝试Python 3.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'

非常感谢你!上帝,我爱你!另一方面,在python版本<2.6上是否有这样做的方法?我认为,
'.join([r'\x%x'%ord(c)for c in mystring])
可能至少会回到python2.4。。。(每当引入列表comp时)--一般来说,从性能的角度来看,与Cpython中的生成器表达式相比,加入列表理解总是更好。。。所以,除了有点难看的风格之外,使用这种风格没有什么坏处。确实如此,先生!我真的很感谢所有的帮助,作为python新手,这个帮助对我来说真的很有价值@恐怕原始答案和评论都不正确。十六进制格式说明符应为%02x或{0:02x},否则序号值小于16的字符将生成无效的\x转义序列,仅为单个十六进制数字!这似乎很有效,这似乎在<2.6版本上有效,这很好。与“\x48\x65\x6c\x6c”不同的是,“0x48 0x65 0x6c 0x6c”几乎完成了修复,但如果有人有修复,则希望看到一个不错的解决方案。我认为这是最好的答案
>>> 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'