我怎样才能正确转换这个字节?
How can i convert this byte properly?
我有一个字节数组 b'string\x01'
,我需要将其格式化为 string1
。我需要为任何 "string" 执行此操作,后跟一个字节,例如 b'string\t'
到 string9
。为什么我的方法不能正常工作?
我已经尝试得到x = b'string\x01'
,我正在努力变成"string1"
。
所以我需要删除 '\x01'
、s = str(x).split("g",1)
然后 byte_part = s[1].rstrip('\'')
所以我自己得到 "\x01"
,但下一个问题是:
我正在尝试将此字符串转换为字节,因此我可以使用 int.from_bytes(byte_part,'little')
并获得正确的整数结果。例如\x01 = 1
.
发生的事情是我将字符串转换为字节数组 bytearray(string, 'utf-8')
然后给我 bytearray(b'\x01')
然后使用 int.from_bytes()
给我 b'\x01'
的结果是 825260124
而不是 b'\x01'
我追求的是 1
。
您正在查找的方法是 ord()。
ord('\x01') # the result is 1
此外,以下将转换您的字符串和 return 最后一个数字。
ord(a.decode().split('string')[1])
希望对您有所帮助。
我有一个字节数组 b'string\x01'
,我需要将其格式化为 string1
。我需要为任何 "string" 执行此操作,后跟一个字节,例如 b'string\t'
到 string9
。为什么我的方法不能正常工作?
我已经尝试得到x = b'string\x01'
,我正在努力变成"string1"
。
所以我需要删除 '\x01'
、s = str(x).split("g",1)
然后 byte_part = s[1].rstrip('\'')
所以我自己得到 "\x01"
,但下一个问题是:
我正在尝试将此字符串转换为字节,因此我可以使用 int.from_bytes(byte_part,'little')
并获得正确的整数结果。例如\x01 = 1
.
发生的事情是我将字符串转换为字节数组 bytearray(string, 'utf-8')
然后给我 bytearray(b'\x01')
然后使用 int.from_bytes()
给我 b'\x01'
的结果是 825260124
而不是 b'\x01'
我追求的是 1
。
您正在查找的方法是 ord()。
ord('\x01') # the result is 1
此外,以下将转换您的字符串和 return 最后一个数字。
ord(a.decode().split('string')[1])
希望对您有所帮助。