java 怎么把一个字节 高低位互换
答案:2 悬赏:10
解决时间 2021-02-20 19:46
- 提问者网友:做自己de王妃
- 2021-02-19 22:40
java 怎么把一个字节 高低位互换
最佳答案
- 二级知识专家网友:第四晚心情
- 2021-02-20 00:09
byte[] num = new byte[2];
System.arraycopy(sendData, 10, num, 0, 2);//代表从senDatas字节组的下标10开始复制,复制到num字节组,复制长度为2
ByteBuffer bf1 = ByteBuffer.wrap(num);
bf1.order(ByteOrder.BIG_ENDIAN);//大小端高低位转换
requestNum = bf1.asShortBuffer().get();
System.arraycopy(sendData, 10, num, 0, 2);//代表从senDatas字节组的下标10开始复制,复制到num字节组,复制长度为2
ByteBuffer bf1 = ByteBuffer.wrap(num);
bf1.order(ByteOrder.BIG_ENDIAN);//大小端高低位转换
requestNum = bf1.asShortBuffer().get();
全部回答
- 1楼网友:街头电车
- 2021-02-20 01:00
用Java的字节流,读取一个int的4个字节,然后转换。 比如读取的数据是:
byte1 byte2 byte3 byte4
在其实这是C++的 byte4 byte3 byte2 byte1
那你可以用位运算转成Java中的对应的整数:
(byte1& 0xff)<<0 + (byte2& 0xff)<<8 + (byte3& 0xff)<< 16 +(byte4& 0xff)<<24 这样转换后的,就是Java中的整数了。
byte1 byte2 byte3 byte4
在其实这是C++的 byte4 byte3 byte2 byte1
那你可以用位运算转成Java中的对应的整数:
(byte1& 0xff)<<0 + (byte2& 0xff)<<8 + (byte3& 0xff)<< 16 +(byte4& 0xff)<<24 这样转换后的,就是Java中的整数了。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯