計算機中儲存的資訊都是用二進位制數表示的,而我們在螢幕上看到的數字、英文、標點符號、漢字等字元是二進位制數轉換之後的結果。按照某種規則,將字元儲存到計算機中,稱為編碼。反之,將儲存在計算機中的二進位制數按照某種規則解析顯示出來,稱為解碼。比如說,按照a規則儲存,同樣按照a規則解析,那麼就能顯示正確的文字符號。反之,按照a規則儲存,再按照b規則解析,就會導致亂碼現象。
編碼:字元(能看懂的)--位元組(看不懂的)
解碼:位元組(看不懂的)-->字元(能看懂的)
編碼表:生活中文字和計算機中二進位制的對應規則
計算機要準確的儲存和識別各種字符集符號,需要進行字元編碼,一套字符集必然至少有一套字元編碼。常見字符集有ascii字符集、gbk字符集、unicode字符集等。
可見,當指定了編碼,它所對應的字符集自然就指定了,所以編碼才是我們最終要關心的。
iso-8859-1字符集:
gb***字符集:
unicode字符集:
在idea中,使用filereader
讀取專案中的文字檔案。由於idea的設定,都是預設的utf-8
編碼,所以沒有任何問題。但是,當讀取windows系統中建立的文字檔案時,由於windows系統的預設是gbk編碼,就會出現亂碼。 那麼如何讀取gbk編碼的檔案呢?
**黑馬教程
IO流詳解(三)轉換流
inputstreamreader和outputstreamwriter 思考 我們鍵盤錄入都是位元組流錄入的,一次讀乙個肯定太麻煩了。我們知道有字元流bufferreader有乙個readline方法,如果一次讀一行的話是不是就輕鬆很多了。但是!位元組流沒有這個方法 我們想通過 bufferedr...
Java IO 03 轉換流 緩衝流
1.1 outputstreamwriter 1 介紹 outputstreamwriter 是字元流通向位元組流的橋梁 可使用指定的字元編碼表,將要寫入流中的字元編碼成位元組。它的作用的就是,將字串按照指定的編碼表轉成位元組,再使用位元組流將這些位元組寫出去。2 示例 1 建立與檔案關聯的位元組輸...
Java中的轉換流
outputstreamwriter 字元流轉向位元組流 作用 可以根據不同編碼格式寫入 需要用到 fileoutputstream 類 可以使用不同編碼格式寫入 gbk表 是 windows預設的 乙個字佔2個位元組 utf 8 是 mac 預設的 乙個字 佔3個位元組 inputstreamre...