java byte转无符号整型

2018-06-27 15:29:03  阅读 5174 次 评论 0 条

Android开发时,在网络通信时使用byte数组读取数据,服务端发来一个整型数值5555,如何从byte中提取出来?

下面为测试代码,5555转为十六进制为 0x15b3

byte[] a = new byte[](byte)0x15, (byte)0xb3};

int port = a[0]&0xff;
port = port << 8;
port += a[1]&0xff;


由于在java里,byte是有符号类型,取值范围为 -127~127,如果直接将 a[1] 的值赋给int型,则取出来的值为 -77

int b = a[1]        //b值等于77

所以,需要加上“与运算” &0xff

本文地址:http://www.bloguan.com/?id=420
版权声明:本文为原创文章,版权归 博观网 所有,欢迎分享本文,转载请保留出处!

发表评论


表情

还没有留言,还不快点抢沙发?