我有一个缓冲区包含两个字节让我们想象缓冲区是:org.jboss.netty.buffer.ChannelBuffer
buffer[28,29,30,31,32]到
在java中读取两个第一个字节我们使用这个函数:
buffer.readShort()
但我想要做的是将缓冲区从 29 读取到 28(我想反转字节的顺序)。
最佳答案
由于这不是您的对象,因此您必须使用 readByte
自己读取Byte
。
对于 Short,创建一个 Byte[2]
数组并调用该方法两次来填充它:
byte[] shortByte = {
channel.readByte(),
channel.readByte()
}
然后反转或者更简单
byte[] shortByte = new byte[2];
shortByte[1] = channel.readByte();
shortByte[0] = channel.readByte();
然后,您只需从该数组创建 Short 即可。您可以从以下帖子中了解如何操作:Convert a byte array to integer in java and vice versa
关于java - 如何使用java反转缓冲区内的字节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44068814/