如果值存储在byte中,您可以调整顺序(先低位,后高位)并直接通过memcpy进行转换:
memcpy(&intvar,bytearray,sizeof(int))
如果字符存储在byte中,您需要转换它们。具体的转换取决于以字节形式保存的格式。
java可以通过以下方法将4字节字节数组转换为int值:{r/**r*@parambyte[]r*@returnint/r*/[rpublicstaticintbytearraytoint(byte[]b){rbyte[]a=newbyte[4][rinti=a.length-1,j=b.length-1}rfor(i>=0,i-,j--){//从b的尾部(即int的低位)复制数据值)rif(j>=0)ra[i]=b[j]relsera[i]=0//如果b.length小于4,则高位将被0}rintv0=(a[0]&0xff)]~补充。以下是将int转换为字节数组并将字节数组转换为int的方法:int对应于4个字节,即:byte[]intbytes=newbyte[4]intbytes[0]=(byte)(x>>24)intbytes[1]=(byte)(x>>16)intbytes[2]=(byte)(x>>8)intbytes[3]=(byte)(x>>0)并且从byte到int对应,b3对应于上述intbytes[0]:publicstaticintmakeint(byteb3,byteb2,byteb1,byteb0){return(int)((b3&;0xff)