【发布时间】:2020-01-17 12:10:54
【问题描述】:
我试图理解ByteBuffer.wrap(byte[]) 甚至ByteBuffer 的一般含义:
如果我有一个字节数组,其中包含一些不同长度和不同类型的值(例如int16s、int32s、UTF-16 字符串,所有这些都是 LITTLE ENDIAN 字节顺序和一些 ASCII 字符串)然后用ByteBuffer 包装它并通过网络发送,比如说通过AsynchronousSocketChannel,那么我的字节按什么顺序发送?
它是否以 BIG ENDIAN 格式发送它们?它是将字节数组视为一个大数据并将其顺序更改为大端还是它感知字节顺序并仅添加具有大端字节顺序的新元素?
背景是我正在处理一个以小端顺序发送和接收字节的客户端,它似乎无法处理我通过网络发送的数据。
【问题讨论】:
-
数据保持原样。
-
获取/放置多字节值(例如
putInt、getLong等)时,字节顺序很重要。
标签: java networking byte buffer