代码之家  ›  专栏  ›  技术社区  ›  daydreamer

字节数组是什么意思?[关闭]

  •  85
  • daydreamer  · 技术社区  · 14 年前

    有人能解释一下吗,我不太明白这个概念。

    我们何时何地在应用程序中使用它?

    使用字节数组有哪些优点和缺点?

    3 回复  |  直到 5 年前
        1
  •  70
  •   Phil    14 年前

    一个字节是8位(二进制数据)。

    可以使用字节数组存储二进制数据的集合,例如文件的内容。这样做的缺点是必须将整个文件内容加载到内存中。

    对于大量二进制数据,如果您的语言支持流式数据类型,则最好使用它。

        2
  •  51
  •   user433534    14 年前

    字节数组的关键在于它提供了对存储在内存中的每个8位值的索引(快速、精确、原始)访问,您可以对这些字节进行操作来控制每个位。糟糕的是,计算机只是把每个条目当作一个独立的8位数字来处理——这可能是你的程序正在处理的,或者你可能更喜欢一些强大的数据类型,比如一个跟踪自身长度并根据需要增长的字符串,或者一个浮点数,让你不用考虑位表示就可以存储3.14。作为一种数据类型,在长数组的开始处插入或删除数据是低效的,因为所有后续元素都需要进行洗牌以形成或填补创建/需要的空白。

        3
  •  11
  •   Miguel Sevilla    14 年前

    wikipedia :

    结构或简单数组是一个数据 由集合组成的结构 元素(值或变量)的, 每个由一个或多个整数标识 每个元素都可以从 用简单的数学方法索引元组

    所以当你说byte array时,你指的是一个定义长度的数组(例如元素的数量),它包含一个字节(8位)大小的元素集合。

    byte[] bytes = { 3, 10, 8, 25 };
    

    上面的示例定义了一个由4个元素组成的数组,其中每个元素最多可以是 Byte