99偷拍视频精品区一区二,口述久久久久久久久久久久,国产精品夫妇激情啪发布,成人永久免费网站在线观看,国产精品高清免费在线,青青草在线观看视频观看,久久久久久国产一区,天天婷婷久久18禁,日韩动漫av在线播放直播

(Io流)關(guān)于在idea中為什么用字節(jié)輸入流輸出對應(yīng)文件時會出現(xiàn)亂碼?-創(chuàng)新互聯(lián)

ASCII(國外),GBK(國內(nèi))是一種字符集;
GBK中.一個英文字母一個字節(jié),二進(jìn)制第一位是0;
GBK中,一個中文漢字兩個字節(jié),二進(jìn)制的第一位是1

創(chuàng)新互聯(lián)公司是專業(yè)的丹江口網(wǎng)站建設(shè)公司,丹江口接單;提供成都網(wǎng)站設(shè)計、網(wǎng)站制作,網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行丹江口網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊,希望更多企業(yè)前來合作!

Unicode(萬國碼)也是一種字符集,而CTF-8則是一種編碼規(guī)范;

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
idea中用的是CTF-8編碼規(guī)范,漢字為三個字節(jié);
public class Main {
? public static void main(String[] args) throws IOException {
? FileInputStream fileInputStream=new FileInputStream("aaa.txt");
? int len=0;
? byte[]array=new byte[12];
? while((len=fileInputStream.read(array))!=-1){
? String a=new String(array,0,len);
? System.out.println(a);
}
輸出的結(jié)果為:

我是大帥

比如這樣 此時aaa.txt中的文本內(nèi)容為"我是大帥哥";
1.經(jīng)過分析,我是大帥哥一共占15個字節(jié);
2當(dāng)我創(chuàng)建一個長度為12的byte數(shù)組時,字節(jié)流他會一次性讀取aaa.txt中"我是大帥哥"所對應(yīng)的的二進(jìn)制編碼,如果我此時byte數(shù)組長度是12,一次性讀取12個字節(jié);
3.第一次讀取12個字節(jié)所對應(yīng)的剛好就是"我是大帥"這四個字所對應(yīng)的12個字節(jié);下一次將繼續(xù)重復(fù)操作;

public class Main {
? public static void main(String[] args) throws IOException {
? FileInputStream fileInputStream=new FileInputStream("aaa.txt");
? int len=0;
? byte[]array=new byte[15];
? while((len=fileInputStream.read(array))!=-1){
? String a=new String(array,0,len);
? System.out.println(a);
}
輸出的結(jié)果為:

我是大帥哥

這里能夠輸出出來,是因為一次性都讀上了;

但是!!!!!!!!!!!!!!!!!!
public class Main {
? public static void main(String[] args) throws IOException {
? FileInputStream fileInputStream=new FileInputStream("aaa.txt");
? int len=0;
? byte[]array=new byte[11];
? while((len=fileInputStream.read(array))!=-1){
? String a=new String(array,0,len);
? System.out.println(a);
}
輸出的結(jié)果為:
我是大?
?哥
1.那為什么這種會出現(xiàn)亂碼?
?因為在這字節(jié)流讀取過程中他會讀取11個字節(jié),并且放到數(shù)組中,但是當(dāng)讀取到"帥"這個詞中,將其一分為二,不能完整的讀取.所以會出現(xiàn)亂碼;

那么如何避免這種錯誤的出現(xiàn);
當(dāng)要用輸入流讀取文件中的數(shù)據(jù)時,盡量用字符輸入流,避免用字節(jié)輸入流(除非byte數(shù)組長度大于等于自身文件字節(jié)長度)
編碼和解碼使用同一個碼表,同一個解碼方式;(Windows一般默認(rèn)字符集都是GBK);

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧

本文名稱:(Io流)關(guān)于在idea中為什么用字節(jié)輸入流輸出對應(yīng)文件時會出現(xiàn)亂碼?-創(chuàng)新互聯(lián)
網(wǎng)頁URL:http://www.yijiale78.com/article8/hhdip.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站虛擬主機(jī)微信小程序網(wǎng)站排名ChatGPT建站公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司