在内存视图中特定偏移量处输入字符串

Input string at a specific offset in memoryview

我想修改 Python 内存视图中特定偏移量的一些值。 示例:

str = "Ys"
#let us assume memoryview[i:i+2].to_bytes() contains b'\x00\x01'
memoryview[i:i+2] = some_function(str)
print(memoryview[i:i+2].to_bytes()) #now contains b'\x59\x73'

我该怎么做?我尝试了一切,但我无法让它发挥作用。 提前致谢。

下面是一个可能对您有所帮助的示例:-

mv = memoryview(bytearray(b'abcd'))
mv[1:3] = b'__'
print(mv.tobytes())

输出将是:- b'a__d'

请注意,memoryview 对象是使用可写字节数组构造的。仅使用 b'abcd' 的构造将不允许您这样做

写就够了

bytes(str, 'ascii) #or different encode

我无法理解它,因为我试图将 ASCII 字符放在 ASCII 符号上,例如 's' 放在不可打印的 '\x00' 字节上,那么有时输出可能是表示为一个字节或一个字符,但仍以正确的方式放置