gpt4 book ai didi

string - 如何在 Python 3 字符串上使用 memoryview?

转载 作者:行者123 更新时间:2023-12-02 09:13:15 26 4
gpt4 key购买 nike

在 Python 3 中,执行:

memoryview("this is a string")

产生错误:

TypeError: memoryview: str object does not have the buffer interface

我应该怎么做才能让 memoryview 接受字符串,或者我应该对我的字符串做什么样的转换才能被 memoryview 接受?

最佳答案

来自 docs , memoryview 仅适用于支持 bytesbytearray 接口(interface)的对象。 (除了前者是只读的,这些是相似的类型。)

Python 3 中的字符串不是我们可以直接操作的原始字节缓冲区,而是 immutable sequences Unicode rune 或字符。一个 str 可以被转换成一个缓冲区,但是,通过使用任何支持的 string encodings encoding 它比如'utf-8'、'ascii'等

memoryview(bytes("This is a string", encoding='utf-8'))

请注意,bytes() 调用必然涉及将字符串数据转换并复制到 memoryview 可访问的新缓冲区中。从上一段可以看出,不可能直接在 str 的数据上创建 memoryview

关于string - 如何在 Python 3 字符串上使用 memoryview?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49780068/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com