Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/302.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.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
如何在Python3中编码十六进制?_Python_Python 3.x - Fatal编程技术网

如何在Python3中编码十六进制?

如何在Python3中编码十六进制?,python,python-3.x,Python,Python 3.x,我正试图在python3中为encode(“hex”)编写等效代码 这是我得到的: s = "'" print(str(s).encode('hex')) >>27 Python 2.7中的Tringbinascii: import binascii s = "'" print(binascii.hexlify(str(s))) >>27 因此,在Python2.7中,两种方法给出相同的结果。现在我尝试在Python 3.5中运行此代码: import binasc

我正试图在python3中为
encode(“hex”)
编写等效代码

这是我得到的:

s = "'"
print(str(s).encode('hex'))
>>27
Python 2.7中的Tring
binascii

import binascii

s = "'"
print(binascii.hexlify(str(s)))
>>27
因此,在
Python2.7
中,两种方法给出相同的结果。现在我尝试在Python 3.5中运行此代码:

import binascii

s = "'"
print(binascii.hexlify(str(s)))

>>Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: a bytes-like object is required, not 'str'


但我不确定下一步要做什么。如何获取我的
27

您只需解码它,如下所示:

binascii.hexlify(str(s).encode('utf8')).decode('utf8'))

s
已经是一个字符串,所以不需要
str
它;相反,根据消息,您需要将其设置为“类似字节的对象”。请尝试
binascii.hexlify(s.encode('utf8')).decode()
codecs.encode(s.encode('utf-8'),“hex”).decode()
import binascii

s = "'"
print(binascii.hexlify(str(s).encode('utf8')))

>>b'27'