你能指出 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/