python - 从字符串中去除\x00 和\x02

标签 python python-3.x strip

我正在读取二进制文件以获取它包含的信息。我的目标是提取从文件中的特定位置开始且长度可变的一些字符。 我读到的文件如下:

with open("raw_files/P1925aM", "rb") as binary_file:

binary_file.seek(436, 0)

some_information = binary_file.read(331)

some_information = some_information.decode('ascii').rstrip('\x00')

binary_file.close()

输出是一个变量(“字节”类),其中包含以下内容:

“17627005 SWU1.1\x00\x00\x00....”

到目前为止,我设法将字节变量解码为 ASCII 并使用以下方法去除 '\x00:

some_information = some_information.decode('ascii').rstrip('\x00')

输出如下:17627005 SWU1.1,这正是我想要的。

现在我有一个变量(类“str”)。 例如,如果变量看起来像这样,我现在遇到的问题是:

“17627005 SWU1.1\x02\x00\x00....”

some_information = some_information.decode('ascii').rstrip('\x02')

不起作用。输出保持“17627005 SWU1.1\x02\x00\x00....”

有什么提示我在这里做错了什么吗?

最佳答案

strip 系列函数仅从字符串的末端删除;您的 \x02 不是字符串中的最后一个字符。如果要从字符串右侧删除 \x00\x02 的任意组合,请将两者传递给 rstrip:

some_information = some_information.decode('ascii').rstrip('\x00\x02')

关于python - 从字符串中去除\x00 和\x02,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57357313/

相关文章:

php - 如何使用 PHP 启动我的 scrapy 脚本?

python - 我可以使用 HTML5 定位工具在 Python 中获得准确的地理定位吗?

python - 在 Jupyter Notebook 中运行 Python 脚本,并传递参数

python-3.x - python : how to create a smoothed version of a 2D binned "color map"?

python - 如何复制 python DictReader 对象?

python - 以每列仅包含 Pandas 中的相同值的方式对列进行排序

python - 通过 python 中的键过滤列表中字典项的值

python - 检查字符串是否包含任意数量的数字后跟特定字母 [Python]

php - 从 Wordpress 中的摘录中剥离标签不起作用

python strip 剥离的内容超出了要求