首页 > 解决方案 > Python将字符串转换为字节

问题描述

伙计们,请耐心等待,我是 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

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

标签: pythonstringbyte

解决方案


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

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


推荐阅读