python - 字节数组的用例

标签 python bytearray

你能指出一个场景,其中 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/

相关文章:

java - 将数据从 Java 进程传递到 python 脚本

java - 如何在 Java 中将字节数组转换为十六进制字符串?

java - 从流中安全解析字节数组的最佳分隔符

actionscript-3 - AS3 Air — 检查 Zip 以获取音频文件

C#按原样获取一个tcp数据包数据

java - 如何将我的 json 字符串进行 avro 二进制编码为字节数组?

python - 限制 os.walk 遍历的嵌套目录数量

python - Spark 中的无序集或类似集?

python - 使用 BeautifulSoup 查找所选选项

python - 在 pandas 中拆垛时保持顺序