字节数组中的重复字节

迈克尔·B·奥尔蒂斯

我有一个字节数组,我想在其中复制给定值的所有出现。

我目前拥有的解决方案确实有效,但是我确信必须有一种更优雅的方法。但是如何?

x = bytearray([0x01, 0x02, 0x03, 0xff, 0x04, 0x05])
r = 0xff

skip = False

for i, v in enumerate(x):
    if skip:
        skip = False
        continue
    if v == r:
        x.insert(i, r)
        skip = True

print(x)

bytearray(b'\x01\x02\x03\xff\xff\x04\x05')

大威

您可以通过.replace以下方式方法用于此任务:

x = bytearray([0x01, 0x02, 0x03, 0xff, 0x04, 0x05])
r = b'\xff'
dx = x.replace(r, r*2)
print(dx)

输出:

bytearray(b'\x01\x02\x03\xff\xff\x04\x05')

.replacebytearray名称与str方法相同。注意,它r应该像字节一样,所以我使用bytes

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章