Python 将字符串转换为字节

Python convert string to bytes

伙计们,请多多包涵,我是 Python 的新手。我想将字符串转换为字节,实际上这样做没有任何问题,但转换字节数据的长度有问题。

这是我的字符串,它的长度是 36:mystring = "097845555220AC004C2E2C02000000000939"

我想将这个字符串转换为长度为 18 的字节,如下所示 = byte_data = b'\x09\x78\x45\x55\x52\x20\xAC\x00\x4C\x2E\x2C\x02\x00\x00\x00\x00\x09\x39'

我一直这样做,结果是 36 字节数据。

mystring = "097845555220AC004C2E2C02000000000939"
byte_data = bytes(mystring, 'ascii')
print(byte_data) #b'097845555220AC004C2E2C02000000000939'
print(len(byte_data)) #24

我想将我的字符串转换为 18 字节长度的数据,而不是 36。你能帮我解决这个问题吗?

mystring = "097845555220AC004C2E2C02000000000939"
len(bytes.fromhex(mystring))

bytes.fromhex(...) 将十六进制格式的字符串转换为字节数组。字符串必须遵循十六进制格式。否则你会得到一个错误。