亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

第二個方法有問題

第二個方法有問題,if(buf[i]<=0xf)這句有問題,運行結果和老師的不一樣,會出現0ce ?0ca ?0d1這種情況,請老師回答下這個問題

正在回答

3 回答

將判斷條件寫為if((buf[i] &0xff)<= 0xf)。這可能是因為buf[i]取到的數不止八位,這樣buf[i]可能是負數了,所以這個判斷條件成立了

0 回復 有任何疑惑可以回復我~
#1

漠其世

可是不是byte[] buf嗎 8位的字節數組啊 但是16進二進制可用4個16進制數表示8進制也就是2位(可能是0開頭的)建議樓主打全代碼瞧瞧
2015-08-12 回復 有任何疑惑可以回復我~
#2

逆天子陸離 提問者

非常感謝!
2015-08-29 回復 有任何疑惑可以回復我~

有可能是你的文件是utf-8包含BOM頭格式的,這樣前3個字節是ef,ee,bf,所以處理的時候會出現為第一個字節為-17的異常情況,就是這個問題

0 回復 有任何疑惑可以回復我~

追問:

為什么buf[i]取到的數不止八位呢? 不是字節數組么?

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

第二個方法有問題

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號