python - read\xHH 在 Python 中作为原始二进制文件从文件中转义

标签 python file raw-data

我有以下问题:

我想从文件中读取原始二进制字符串:

该文件如下所示(带有转义字符,而不是二进制数据):

\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/

相关文章:

python - 创建 4 列矩阵,其中从 0 到 1 的 11 个值的所有组合都增加 0.1。

python - 如何在spynner/PyQt4中设置应用程序名称?

c - 从C文件中读取移动数据(字符串和数字)

python - 如何使用 Python 格式化带有三重引号的多行字符串?

file - Camel File 组件 - Idempotrepository 和 InProgressRepository 之间有什么区别

c# - 只是一个简单的 UnauthorizedAccessException 问题

Vim 修改文件(如果与 xxd 一起使用)

xcode - Swift 中的 HTTP 请求和 swift3 中的 POST 方法

java - 使用 bitcoinj 获取原始 block

iphone - iPhone 上的线性代数(python/numpy?)