Re: [分享] byte[]計算
※ 引述《TonyQ (骨頭)》之銘言:
: 最近碰到的鳥問題就是因為存檔的關係,
: 所以int被轉成4個byte,有些short被轉成2個byte,
: 這時候就需要一些計算把他們還原。
: 主要的計算法則是 & 後平移再|,
: 比方說兩位的short就是
: (b[0] & 0xFF) | (b[1] << 8 & 0xFF00)
: int transByteIntoInt(byte[] b){
: if (b.length==0) return -1;
: int addr = b[0] & 0xFF;
: for(int i=1;i<b.length;i++)
: addr |= ((b[i] << 8*i) & (0xFF)*(int)Math.pow(256,i));
: return addr;
: }
endian problem
http://tinyurl.com/2cvxym
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.161.125.35
討論串 (同標題文章)