gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 11:14:27 28 4
gpt4 key购买 nike

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

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()

输出是一个变量(类'bytes'),它包含如下内容:

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

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com