python - 如何在 Python 中逐字节修改十六进制字符串?
问题描述
我正在编写一小段代码来交换 .bmp 和 .wav 文件之间的标题。我设法提取原始字节(例如\x00\x12
)并将其转换为字符串(0012
),但我现在想要做的是拆分字符串,以便我可以将其修改为两个字节乘两个字节。这意味着我有我的十六进制字符串,例如FACB3D52
,我希望它被拆分,FACB
以便我可以在其中应用规则(如果有 A,则替换为 B),然后它向前移动3D52
,应用相同的规则, 并重新组装字符串以使其输出FBCB3D52
我在 Python 方面没有太多经验,我真的不知道应该如何解决这个问题
解决方案
如果您对十六进制数的每个块应用相同的规则,则可以使用以下内容。
hexstr = "FACB3D52"
hexlist = [hexstr[i:i+4] for i in range(len(hexstr)//4)] # Split into list of substrings
new_hexlist = [substr.replace('A', 'B') for substr in hexlist] # Apply rule to each substring
new_hexstr = ''.join(new_hexlist) # Join substrings back to form final string
print(new_hexstr)
输出
FBCBBCB3
推荐阅读
- python - 单击python我如何从命令行读取json之类的参数
- python - 有什么方法可以获取每只股票(200+)的所有季度业绩数据并使用 python 将其存储在 excel 中?
- azure - 天蓝色数据工厂更新
- testing - 结构动态 TestCafe 运行
- oracle - PLSQL:如何逐行通过游标,将值复制到表中,并在同一个循环中将这些值保存到变量中?
- python - SQLAlchemy 中的反射不适用于 MS SQL Server 系统表?
- android - NetworkOnMainThreadException 对协程中的网络调用有效吗?
- python - 带有两个程序的 gui 类
- owl - 作为 unionOf 的类,但没有其他类不相交
- wordpress - 从另一台服务器重定向 URL