如何在python中将字符串连接为字符串作为十六进制?

时间:2017-08-23 14:23:01

标签: python

data = "\xAA\x12\xFF\x01\x21\x33"

ser.write(data)

这是原始代码。如何将字符串连接到一个字符串(包含六进制数字)并使用all作为六进制数字将其作为六进制数字发送,就像第二个代码一样?

var = 21

data = "\xAA\x12\xFF\x01" + var + "\x33"

ser.write(data)

1 个答案:

答案 0 :(得分:0)

您正在寻找的是hex()功能:

>>> var = 21
>>> data = "\xAA\x12\xFF\x01" + hex(var) + "\x33"
>>> data
'\xaa\x12\xff\x01\0x153'
>>> 

hex() job是将整数(任意大小)转换为带有“0x”前缀的小写十六进制字符串。

修改: 我注意到你需要使用反斜杠来保持格式,因此chr()将使用反斜杠返回hexa值。

>>> chr(var)
'\x15'
>>> hex(var)
'0x15'

chr(i)返回一个字符串,其ASCII码为整数i。