Python bytearray inside string问题
Python bytearray inside string problems
我有一个将字节数组转换成字节的函数:
def dehex(d):
return bytes(bytearray(d))
test = dehex([0xe7,0xcd,0xb0,0xa2])
这很好用
不过
我在一个使用 pickle 的 txt 文件中保存了一些类似上面的字节数组,看起来像这样:
0xe7,0xcd,0xb0,0xa2
并且我希望能够从 txt 文件加载它们,如果我读取文件 returns 一个不适用于我的 dehex 函数的字符串,就会出现问题。
就像它被这样解释:
dehex(["0xe7,0xcd,0xb0,0xa2"])
我将如何完成这项工作?
也许这会有所帮助:
my_str = "0xe7,0xcd,0xb0,0xa2" # String read from file.
my_bytes_list = [bytes.fromhex(c[2:]) for c in my_str.split(",")]
result = [dehex(bytes.fromhex(c[2:])) for c in my_str.split(",")]
print (result)
输出:
[b'\xe7', b'\xcd', b'\xb0', b'\xa2']
我有一个将字节数组转换成字节的函数:
def dehex(d):
return bytes(bytearray(d))
test = dehex([0xe7,0xcd,0xb0,0xa2])
这很好用
不过
我在一个使用 pickle 的 txt 文件中保存了一些类似上面的字节数组,看起来像这样:
0xe7,0xcd,0xb0,0xa2
并且我希望能够从 txt 文件加载它们,如果我读取文件 returns 一个不适用于我的 dehex 函数的字符串,就会出现问题。 就像它被这样解释:
dehex(["0xe7,0xcd,0xb0,0xa2"])
我将如何完成这项工作?
也许这会有所帮助:
my_str = "0xe7,0xcd,0xb0,0xa2" # String read from file.
my_bytes_list = [bytes.fromhex(c[2:]) for c in my_str.split(",")]
result = [dehex(bytes.fromhex(c[2:])) for c in my_str.split(",")]
print (result)
输出:
[b'\xe7', b'\xcd', b'\xb0', b'\xa2']