讀UTF 8 編碼的文字

2021-08-30 07:29:10 字數 1412 閱讀 8190

filereader filewriter 和inputstreamreader outputstreamwriter 讀utf-8 編碼的文字

filereader 和filewriter 分別是inputstreamreader 和outputstreamwriter 的直接子類,inputstreamreader 和outputstreamwriter是字元流通

和位元組流的橋梁,可以顯示的指定字元編碼,轉碼是發生在位元組流和字元流的臨界處的;

而filereader 和filewriter 是處理字元檔案的便捷類,使用的是預設的字元編碼。

讀utf-8 字元編碼的檔案

1 、使用filereader 類

public static string readusingfilereader(string filename,

string encoding) throws ioexception

in.close();

return sb.tostring();

}

2 、使用inputstreamreader 類

public static string readusinginputstreamreader(string filename,string encoding)

throws ioexception

in.close();

return sb.tostring();

}

使用 filereader 類我們需要通過 

new 

string((s+ "\n" ).getbytes(),encoding) 進行轉碼

,但還是會出現一些漢字無法解析出來。使用 inputstreamreader 類時我們指定好編碼方式能很好的解析。

寫檔案和讀檔案差不多。

1 、使用filewriter 類

public static void writeusingfilewriter(string filename,string text,

string encoding) throws ioexception

2 、使用outputstreamwriter 類

public static void writeusingoutputstreamwriter(string

filename,string text,string encoding) throws ioexception

fileoutputstream

/fileinputstream 用於寫入諸如影象資料之類的原始位元組的流。要寫入字元流,考慮使用 filewriter

/file

reader

介紹utf8編碼

utf8並不算是一種電腦編碼,而是一種儲存和傳送的格式,如前所述,每個unicode ucs字元都以 2或4個bytes來儲存,看看以下的比較 以 i am chinese 為例 用ansi儲存 12 bytes 用unicode ucs2儲存 24 bytes 2 bytes header 用uc...

UTF8編碼 解碼

參考文件 rfc3629標準.對於任意乙個字,都可以用乙個唯一碼 unicode碼,由標準編制 表示,在應用過程中,需要對碼進行編碼.常用的編碼方式為utf 8.utf 8採用類似於ip位址分配的機制.即對於不同範圍的unicode碼,採用不同的模板進行編碼.流程概述為 2.1 查表獲取unicod...

utf8的編碼演算法

unicode字符集是我們世界上最完善最全面的字符集,幾乎包含了世界上所有的字元。其實可以這麼理解,unicode字符集是一張巨大的 把世界上各種語言的字元和標點符號都編排到裡面,然後按照一定的順序給每個字元排號 很遺憾的是對於中文來說,這個順序不是按照漢語拼音的順序 有了這張巨大的 世界上大部分字...