函式需要:
傳入一個一維byte陣列, 比如{255,255} 轉換為int 為65535,相當於16進位制FFFFH,以此類推,當傳入為{255,1}時,返回int為511,相當於1FFH.
基本上是用在協議解析上,當有兩個byte表示長度協議時,用此函式可以得到協議的長度。
程式碼如下:
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);
tln(n);
fromByte += n;
}
return fromByte;
}
而網上找的一些其他程式碼就不頂用不知道為什麼,如:
Java程式碼
public static int bytesToInt(byte[] bytes) {
int num = bytes[0] & 0xFF;
num |= ((bytes[1] << 8) & 0xFF00);
return num;
}