java - Java中如何使用字节数组来表示二进制数据?

标签 java byte

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

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

最佳答案

Byte can be (integer) values -128 to 127, so how does a byte array represent a binary data?

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

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

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

So to conclude:
1 Byte == 8 bits, and Byte Array == stream of bits, and hence represent binary data?

是的。例如:AByte Array长度2 bytes16 bits 的流的binary data .

关于java - Java中如何使用字节数组来表示二进制数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51964438/

相关文章:

PHP 字符串到十六进制/字节?

tcp - 有人能告诉我 golang 中 io.ReadFull 和 bytes.Buffer.ReadFrom 的行为是什么吗

python - 获取二进制数据的字节大小(python3.6)

java - Android多线程预加载imageview(uri)

java - 如何在java中为给定的wave文件做框架

java - 如何优化动画?

c# - 字节数组转base64字符串

java - 类不继承自扩展至 JComponent 的类

java - 当我将 Arraylist 从 main.activity 传递到 receive.activity 时,仅获取 arraylist 最后一个值

java - Preon 框架收集分离的位(实际上是半字节)