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

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

怎么將漢字“中”正常讀出來呢?

老師說中屬于utf-16be,可以單獨讀出來,但是怎么單獨讀出來呢?

正在回答

4 回答

其實寫入'a' 不會干擾,寫入'a'的后8位正好符合gbk編碼,而是中間寫入了int數,這個收到了干擾。



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

只要你的編碼方式保持一致就可以了~

你這“中”字前面有沒有寫入其他的,有時候也是受到前面的干擾,比如write("A");這樣的,寫入只寫了一個字節,但是一個字符卻是兩個字節,但是讀出來的時候只是1個字節,所以讀到后面的時候就可能會出現問題?!静贿^我們也能看出來這1個字節表示的是這個字符】

你也可以利用seek()來確定確定“中”字的位置,然后開始讀,這樣的話,都不會出現問題,就是稍微有一丟丟麻煩。

樓上的應該就是利用系統默認的編碼方式我gbk。

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

leowei

gbk 1個英文占一個字節,中文占兩個字節, 寫de時候,是符合gbk的格式的,讀的時候為啥會出現亂碼
2016-10-31 回復 有任何疑惑可以回復我~

我這也沒有出亂碼啊 ?直接就讀出來了?

??????

占個地 ?誰能講解講解

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

helloworld2008

不是吧。。。老師的都試過了。不管是gbk還是utf-16be都是亂碼啊。。
2016-11-10 回復 有任何疑惑可以回復我~

在中的起始位置讀兩個字節到字節數組b里,再轉化成utf-16be的字符串就可以了。

String s=new String(b,"utf-16be");

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

leowei

這樣理解是錯誤的。雖然是中在java 中是utf-16be 編碼。但是寫的時候已經被getbyte(buf,"gbk");已經編碼成了 gbk。 所以讀的時候也應該是String s=new String(buf,"gbk");
2016-10-31 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

怎么將漢字“中”正常讀出來呢?

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

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

幫助反饋 APP下載

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

公眾號

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