如何使用Java中的字节数组来表示二进制数据?
我读到Java中的字节数组用于表示二进制数据。我无法理解这一点。字节数组如何表示二进制数据(可通过网络传输,并可构造回原始形式) 字节可以有-128到127之间的(整数)值;那么字节数组如何表示二进制数据呢 字节可以是(整数)值如何使用Java中的字节数组来表示二进制数据?,java,byte,Java,Byte,我读到Java中的字节数组用于表示二进制数据。我无法理解这一点。字节数组如何表示二进制数据(可通过网络传输,并可构造回原始形式) 字节可以有-128到127之间的(整数)值;那么字节数组如何表示二进制数据呢 字节可以是(整数)值-128到127,那么一个字节是如何定义的呢 数组表示二进制数据 每个字节(八位字节)是一个八位序列,拥有字节序列可以表示任意长度的二进制数据(尽管它仅限于每8位增量) 大多数现代计算机的内存是按字节序列寻址的,网络接口发送包含字节序列的数据包,硬盘驱动器存储字节序列(但
-128到127
,那么一个字节是如何定义的呢
数组表示二进制数据
每个字节(八位字节)是一个八位序列,拥有字节序列可以表示任意长度的二进制数据(尽管它仅限于每8位增量)
大多数现代计算机的内存是按字节序列寻址的,网络接口发送包含字节序列的数据包,硬盘驱动器存储字节序列(但只能在更大的块中寻址,比如4096字节)
很少需要逐位访问数据,需要时可以使用逐位运算符,因此默认情况下不提供位序列的数据类型
总之:1字节==8位
,和字节数组==位流
,
因此表示二进制数据
对。例如:一个长度为
2字节的字节数组是一个16位的二进制数据流那么一个字节是8位,它代表二进制数据。你的硬盘驱动器不是一个TB字节数组;)Java出于一些原因,包括遗留原因,选择将byte
作为可用于表示二进制数据的最小基元类型(从概念上讲,boolean
表示位,但Java API不将其用于二进制数据)。@TimBiegeleisen:因此总结为1字节==8位,字节数组==位流,因此表示二进制数据?这是我对它的理解…如果我情绪失控,就让别人把我击倒。