我有以下问题:
我想从文件中读取原始二进制字符串:
该文件如下所示(带有转义字符,而不是二进制数据):
\xfc\xe8\x82\x00\x00\x00\x60\x89\xe5\x31\xc0\x64\x8b\x50\x30\x8b\x52
使用的代码:
data = open("filename", "rb").read()
得到的结果:
b"\\xfc\\xe8\\x82\\x00\\x00\\x00\\x60\\x89\\xe5\\x31\\xc0\\x64\\x8b\\x50\\x30\\x8b\\x52"
与双倍\.
如何将其读取为二进制字符串,例如:\xaa
字符?
(没有转义字符)
最佳答案
好的。你的问题是你问了错误的问题。您的数据文件不是原始二进制字符串,而是经过编码的字符串,使用转义字符进行编码。不过,当您需要解码转义符时,您会将其作为原始二进制文件读取。尝试一下
data = open("filename", "r", encoding='unicode_escape').read().encode('raw_unicode_escape')
相反。
编辑:好的,现在可以了。您需要编码为 raw_unicode_escape,而不是 utf-8(默认)。
关于python - read\xHH 在 Python 中作为原始二进制文件从文件中转义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36970312/