无法用python替换字节中的十六进制

2024-09-30 18:21:00 发布

您现在位置:Python中文网/ 问答频道 /正文

>>> data=b'\x11\x22'
>>> data.hex()
'1122'
>>> len(data)
2
#let's try to replace data ....
>>> data.replace(b'1122',b'3344').hex()
'1122'

为什么我不能替换为replace0x1122到0x3344


Tags: todatalenreplacelethextryx11
1条回答
网友
1楼 · 发布于 2024-09-30 18:21:00

因为您的bytes不包含1122(四个离散的ASCII值表示'1''1''2''2'),所以它包含\x11\x22(两个离散的原始字节编码,0x110x22)。如果要替换原始字节值,请为替换提供它们,例如

data.replace(b'\x11\x22',b'\x33\x44').hex()

相关问题 更多 >