你能指出 Python 的 bytearray 有用的场景吗?它是否只是一个支持列表方法的非 unicode 字符串,无论如何都可以使用 str 对象轻松实现?

我理解有些人认为它是“可变字符串”。但是,我什么时候需要这样的东西?并且:与字符串或列表不同,我严格限于 ascii,所以无论如何我更喜欢其他的,这不是真的吗?

最佳答案

巴赫,
bytearray 是一个可变的内存块。为此,您可以将任意字节放入其中并仔细管理您的内存分配。虽然许多 Python 程序员从不担心内存使用,但我们中的一些人确实担心。我在高负载网络操作中管理缓冲区分配。可变数组有很多应用——多得数不过来。

bytearray 视为可变字符串是不正确的。不是。它是一个字节数组。字符串具有特定的结构。 bytearray 没有。您可以根据需要解释字节。字符串是一种方式。不过要小心,在使用 Unicode 字符串时有很多极端情况。 ASCII 字符串比较简单。现代代码跨越国界。因此,Python 相当完整的基于 Unicode 的字符串类。
bytearray 显示由缓冲协议(protocol)分配的内存。这个非常丰富的协议(protocol)是 Python 与 C 互操作的基础,并支持 numpy 和其他直接访问内存技术。特别是,它允许以 C 或 FORTRAN 顺序轻松地将内存结构化为多维数组。

您可能永远不必使用 bytearray

匿名,安德鲁

关于python - 字节数组的用例,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22192196/

10-13 07:21