1. 程式人生 > 其它 >位元組流與字元流通俗理解

位元組流與字元流通俗理解

位元組流與字元流到底是什麼,有什麼區別和關聯

按照什麼編碼方式存入檔案的,就要按照什麼編碼方式讀出來,否則檔案就失去了原來的含義。

  • 比如檔案按照Ascall碼編碼存取,abc對應 97 98 99三個位元組,那麼讀取也應該一個位元組一個位元組地讀。這種檔案被稱作二進位制檔案,所有的元素都是按照AScall進行的編碼。

  • 又比如檔案按照unicode編碼存取,你大爺,每個漢字對應了兩個位元組,如果只是按照位元組流讀取,檔案就會失去原來的意義。這種檔案被稱作文字檔案,所有的元素都按unicode編碼。

  • 兩者通過位元組陣列byte[] 和String相互關聯,所有的檔案在磁碟或者傳輸過程中都是以位元組方式進行的。字元只有在內寸(快取區)中才會形成,開發中,位元組流使用的更為廣泛。

為什麼位元組輸入流一定要設定位元組緩衝區,不設定會怎樣
程式中的位元組緩衝區只是用來接收流,與記憶體中的緩衝區無關。

怎麼從位元組流讀出各種資料型別的

讀出位元組後,用位元組轉化方法,new String(byte ,0,length);