简体   繁体   English

Python 将字符串转换为字节

[英]Python convert string to bytes

Bear with me here guys, i am very begginer in Python.在这里忍受我,我是 Python 的初学者。 I would like to convert a string to bytes, actually doing it without any problem but having a problem on length of converted byte data.我想将字符串转换为字节,实际上这样做没有任何问题,但在转换后的字节数据的长度上有问题。

Here is my string and its lenght is 36: mystring = "097845555220AC004C2E2C02000000000939"这是我的字符串,它的长度是 36: mystring = "097845555220AC004C2E2C02000000000939"

I would like to convert this string to bytes with 18 length like this = byte_data = b'\x09\x78\x45\x55\x52\x20\xAC\x00\x4C\x2E\x2C\x02\x00\x00\x00\x00\x09\x39'我想将此字符串转换为长度为 18 的字节,如下所示 = byte_data = b'\x09\x78\x45\x55\x52\x20\xAC\x00\x4C\x2E\x2C\x02\x00\x00\x00\x00\x09\x39'

I have been doing like this and the result i have is 36 lenght of byte data.我一直在这样做,我得到的结果是 36 字节数据。

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

Instead of 36 i would like to convert my string to 18 length byte data.而不是 36 我想将我的字符串转换为 18 长度的字节数据。 Can you help me on this?你能帮我解决这个问题吗?

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

bytes.fromhex(...) converts a hex formatted string to a byte array. bytes.fromhex(...) 将十六进制格式的字符串转换为字节数组。 The string must respect the hex format.字符串必须遵循十六进制格式。 Otherwise you'll get an error.否则你会得到一个错误。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM