当前位置:  开发笔记 > 编程语言 > 正文

在Java中查找2个字节的值

如何解决《在Java中查找2个字节的值》经验,为你挑选了1个好方法。

我试图找到UDP数据包中前2个字节的值,该值与剩余有效负载的长度相对应.鉴于我知道前两个字节,在Java中找到这个值的最佳方法是什么?请问java.nio.ByteBuffer有什么用处?

谢谢



1> Jack..:

我经常使用这样的东西:

static public int buildShort(byte high, byte low)
{
  return ((0xFF & (int) high) * 256) + ((0xFF & (int) low));
}

然后你拿前两个字节DatagramPacket:

int length = buildShort(packet.getData()[0], packet.getData()[1]);

请注意,我使用长度作为int因为short数据类型(因为每个人)都是用Java签名的,所以你需要更大的空间.


我更喜欢Justin和erickson的风格,例如"<< 8"而不是"*256"和"|" 而不是"+",因为你正在做的是真正的移位和组合位(它也可以被解释为乘法和加法,但有点模糊了意图).顺便说一下,没有_all_ integral原始类型被签名:char!
推荐阅读
爱唱歌的郭少文_
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有