我正在编写一小段代码来交换.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)
产量
有七个原因