有人可以解释一下,我并不完全明白
什么是字节数组
我们何时何地在应用程序/程序中使用它
使用字节数组的优点和缺点是什么
答案 0 :(得分:62)
一个字节是8位(二进制数据)。
字节数组是一个字节数组(重言式FTW!)。
您可以使用字节数组来存储二进制数据的集合,例如,文件的内容。这样做的缺点是必须将整个文件内容加载到内存中。
对于大量二进制数据,如果您的语言支持,最好使用流数据类型。
答案 1 :(得分:44)
我假设您知道字节是什么。字节数组只是一个包含一组连续(并排)字节的内存区域,因此按顺序讨论它们是有意义的:第一个字节,第二个字节等。
正如字节可以编码不同类型和数据范围(数字从0到255,数字从-128到127,单个字符使用ASCII,例如'a'或'%',CPU操作码),每个字节一个字节数组可能是这些东西中的任何一个,或者有助于某些多字节值,例如范围较大的数字(例如,0..65535中的16位无符号整数),国际字符集,文本字符串(“hello”),或部分/全部已编译的计算机程序。
字节数组的关键在于它为存储在该部分内存中的每个8位值提供索引(快速),精确的原始访问,并且您可以对这些字节进行操作以控制每个位。坏处是计算机只将每个条目视为一个独立的8位数 - 这可能是你的程序正在处理的,或者你可能更喜欢一些强大的数据类型,如跟踪自己的长度和增长的字符串根据需要,或者一个浮点数,让你存储说3.14而不考虑按位表示。作为数据类型,在长数组的开头附近插入或移除数据是低效的,因为需要对所有后续元素进行混洗以填充或填充创建/需要的间隙。
答案 2 :(得分:8)