Python3转换字节串

时间:2019-09-06 21:14:50

标签: python python-3.x binary

所以我要连接到IoT机器。

我有一个字节串

my_string = '\x01\x00\t\xd2\x01\x00\x01\x04keso\xcc'

像这样发送字符串很完美:

self._sock.send(b'\x01\x00\t\xd2\x01\x00\x01\x04keso\xcc')

但这失败

self._sock.send(my_string) #=> Error
#TypeError: a bytes-like object is required, not 'str'

所以,我现在的任务是获取要发送的字符串,当我尝试添加my_string.encode()时,字符串将变为b'\x01\x00\t\xc3\x92\x01\x00\x01\x04keso\xc3\x8c',这不是正确的表示形式,应为{{1 }}

该如何转换呢?

2 个答案:

答案 0 :(得分:1)

我找到了。它使用的是latin1编码。

答案 1 :(得分:0)

my_string = '\x01\x00\t\xd2\x01\x00\x01\x04keso\xcc'

...不是字节串。 我认为应该是...

my_string = b'\x01\x00\t\xd2\x01\x00\x01\x04keso\xcc'