欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

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

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

創(chuàng)新互聯(lián)公司是專業(yè)的丹江口網(wǎng)站建設公司,丹江口接單;提供成都網(wǎng)站設計、網(wǎng)站制作,網(wǎng)頁設計,網(wǎng)站設計,建網(wǎng)站,PHP網(wǎng)站建設等專業(yè)做網(wǎng)站服務;采用PHP框架,可快速的進行丹江口網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(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當我創(chuàng)建一個長度為12的byte數(shù)組時,字節(jié)流他會一次性讀取aaa.txt中"我是大帥哥"所對應的的二進制編碼,如果我此時byte數(shù)組長度是12,一次性讀取12個字節(jié);
3.第一次讀取12個字節(jié)所對應的剛好就是"我是大帥"這四個字所對應的12個字節(jié);下一次將繼續(xù)重復操作;

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ù)組中,但是當讀取到"帥"這個詞中,將其一分為二,不能完整的讀取.所以會出現(xiàn)亂碼;

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

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

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

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站虛擬主機微信小程序網(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)站建設網(wǎng)站維護公司