【问题标题】:How byte array in Java is used to represent a binary data?Java中的字节数组如何用于表示二进制数据?
【发布时间】:2018-08-22 10:04:07
【问题描述】:

我读过Java中的字节数组用于表示二进制数据。我无法理解这一点。字节数组如何表示二进制数据(并且可以通过网络传输并可以构造回原始形式)。

字节可以有从-128到127的(整数)值;那么字节数组如何表示二进制数据呢?

【问题讨论】:

  • 那么一个字节是8位,代表二进制数据
  • 你的硬盘不是 Tera-Byte 数组吗?)
  • Java,出于包括遗留原因在内的几个原因,选择使byte 成为可用于表示二进制数据的最小基本类型(好吧boolean 在概念上代表了一点,但Java API 没有'不要将它用于二进制数据)。
  • @TimBiegeleisen:所以得出结论 1 Byte == 8 bits 和 Byte array == 比特流,因此代表二进制数据?
  • 这是我的理解……如果我失控了,就让别人把我击落吧。

标签: java byte


【解决方案1】:

字节可以是(整数)值-128 to 127,那么字节如何 数组代表一个二进制数据?

每个字节(八位字节)是一个 8 位序列,具有字节序列让我们可以表示任意长度的二进制数据(尽管它被限制为 每 8 位 个增量)。

大多数现代计算机的内存被寻址为字节序列,网络接口发送包含字节序列的数据包,硬盘驱动器存储字节序列(但只能在更大的块中寻址,例如 4096 字节)。

很少需要逐位访问数据,需要时可以通过位运算符来完成,因此默认不提供位序列的数据类型。

所以总结一下:
1 Byte == 8 bits,和Byte Array == stream of bits, 并因此表示二进制数据?

是的。例如:长度为2 bytesByte Array16 bitsbinary data 的流。

【讨论】:

    猜你喜欢
    • 2020-12-20
    • 2015-08-28
    • 2019-10-29
    • 2019-05-14
    • 2013-09-29
    • 2019-06-22
    • 1970-01-01
    • 1970-01-01
    • 2012-04-16
    相关资源
    最近更新 更多