- 相關(guān)推薦
Java byte[]轉int如何實(shí)現
函數需要:
傳入一個(gè)一維byte數組, 比如{255,255} 轉換為int 為65535,相當于16進(jìn)制FFFFH,以此類(lèi)推,當傳入為{255,1}時(shí),返回int為511,相當于1FFH.
基本上是用在協(xié)議解析上,當有兩個(gè)byte表示長(cháng)度協(xié)議時(shí),用此函數可以得到協(xié)議的長(cháng)度。
代碼如下:
Java代碼
public static int bytesToInt(byte[] intByte) {
int fromByte = 0;
for (int i = 0; i < 2; i++)
{
int n = (intByte[i] < 0 ? (int)intByte[i] + 256 : (int)intByte[i]) << (8 * i);
System.out.println(n);
fromByte += n;
}
return fromByte;
}
而網(wǎng)上找的一些其他代碼就不頂用不知道為什么,如:
Java代碼
public static int bytesToInt(byte[] bytes) {
int num = bytes[0] & 0xFF;
num |= ((bytes[1] << 8) & 0xFF00);
return num;
}
【Java byte[]轉int如何實(shí)現】相關(guān)文章:
Java如何實(shí)現簡(jiǎn)單的whois查詢(xún)03-16
Java語(yǔ)言的特點(diǎn)和實(shí)現機制02-27
Java動(dòng)態(tài)代理實(shí)現AOP的方法03-16
如何編譯java程序03-05
Java認證輔導:Java實(shí)現二叉樹(shù)遍歷算法03-19
如何讓JAVA代碼更高效03-20