我有一个字节数组b'string\x01'
,我需要格式化为string1
。我需要为任何"字符串"执行此操作,后跟一个字节,例如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'
的结果{{1我代之以825260124
而不是b'\x01'
。
答案 0 :(得分:0)
您正在寻找的方法是ord()。
ord('\x01') # the result is 1
此外,以下内容将转换您的字符串并返回最后一个数字。
ord(a.decode().split('string')[1])
希望这会有所帮助。