问题描述
网络编程中将高字节数组转换为int需要支持偏移量参考了网上一个,转化不过来,望指教,java初学publicstaticintbyteArrayToInt(byte[]b,intoffset){intvalue=0;for(inti=0;i<4;i++){intshift=(4-1-i)*8;value+=(b[i+offset]&0x000000FF)<<shift;}returnvalue;}
解决方案
解决方案二:
你所说的“高字节数组”指的是Big-Endian么?给你个Big-Endian的例子吧,没有异常处理,需要的话自己加。publicstaticintbyteArrayToInt(byte[]b,intoffset){return(b[offset]&0xFF)<<24|(b[offset+1]&0xFF)<<16|(b[offset+2]&0xFF)<<8|(b[offset+3]&0xFF);}
时间: 2024-10-24 13:27:53