您好,登錄后才能下訂單哦!
字節(jié)流是最基本的,所有的InputStrem和OutputStream的子類都是,主要用在處理二進(jìn)制數(shù)據(jù),它是按字節(jié)來(lái)處理的
但實(shí)際中很多的數(shù)據(jù)是文本,又提出了字符流的概念,它是按虛擬機(jī)的encode來(lái)處理,也就是要進(jìn)行字符集的轉(zhuǎn)化
這兩個(gè)之間通過(guò) InputStreamReader,OutputStreamWriter來(lái)關(guān)聯(lián),實(shí)際上是通過(guò)byte[]和String來(lái)關(guān)聯(lián)
在實(shí)際開(kāi)發(fā)中出現(xiàn)的漢字問(wèn)題實(shí)際上都是在字符流和字節(jié)流之間轉(zhuǎn)化不統(tǒng)一而造成的 ;
字符流和字節(jié)流是根據(jù)處理數(shù)據(jù)的不同來(lái)區(qū)分的。字節(jié)流按照8位傳輸,字符流按照16位傳輸
在從字節(jié)流轉(zhuǎn)化為字符流時(shí),實(shí)際上就是byte[]轉(zhuǎn)化為String時(shí),
public String(byte bytes[], String charsetName)
有一個(gè)關(guān)鍵的參數(shù)字符集編碼,通常我們都省略了,那系統(tǒng)就用操作系統(tǒng)的lang
而在字符流轉(zhuǎn)化為字節(jié)流時(shí),實(shí)際上是String轉(zhuǎn)化為byte[]時(shí),
byte[] String.getBytes(String charsetName)
也是一樣的道理 ,charsetName就是指編碼格式
由于字符流使用Unicode字符集,支持多國(guó)文字,因此若流要跨越多種平臺(tái)傳輸,應(yīng)使用字符流。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。