求助:java中byte[] 中数据的获取

gxx20111214 2014-10-09 09:55:27
byte version = 1;
short mstype = 3001;
short sn = 001;
String strs = "127.0.0.1";
ByteBuf buf = builderPacketHead(64, false, false, version, mstype, sn, strs);//这是封装好的方法

PS: 为什么byteBuf输出的值是 “ 74 1 -71 11 1 0 127 0 0 1”

现在我想重新从bytebuf中获取到sn和strs的值。应该怎么写?求大神
...全文
439 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
gxx20111214 2014-10-10
  • 打赏
  • 举报
回复
引用 3 楼 lxraiyl 的回复:
一个short类型占据两个字节长度
那我怎么获取bytebuf里面的数据呢? 下面是封装 接收到数据包的方法,我要从这个方法里拿到SN和STRS的信息。请问改怎么写? 多谢 public static ByteBuf builderPacketHead(int sendFlag, boolean encryption, boolean condense, byte version, short messType, short seriaNumber, String ip) { PackageBuilder builder = new PackageBuilder();//本类 ByteBuf buf = Unpooled.buffer(packetLength); //bytebuf的长度=10 buf.writeByte(builder.addFlag(64, true, true)); // 封装信息标志位 buf.writeByte(version); // 添加版本号信息 buf.writeBytes(builder.addShort(messType)); // 添加消息类型 buf.writeBytes(builder.addShort(seriaNumber)); // 添加流水号 buf.writeBytes(builder.addIP(ip)); // 添加IP return buf; }
lxraiyl 2014-10-10
  • 打赏
  • 举报
回复
一个short类型占据两个字节长度
gxx20111214 2014-10-10
  • 打赏
  • 举报
回复
求大神,求解惑
gxx20111214 2014-10-10
  • 打赏
  • 举报
回复
求大神指点呐,自己顶顶

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧