请耐心听我说,我是 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(...) 将十六进制格式的字符串转换为字节数组。该字符串必须遵循十六进制格式。否则你会得到一个错误。
关于Python 将字符串转换为字节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66776592/