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字符集是一張巨大的 把世界上各種語言的字元和標點符號都編排到裡面,然後按照一定的順序給每個字元排號 很遺憾的是對於中文來說,這個順序不是按照漢語拼音的順序 有了這張巨大的 世界上大部分字...