另外資料持久化或網路傳輸都是以位元組進行的,所以必須要有字元到位元組或位元組到字元的轉化。字元到位元組需要轉化,其中讀的轉化過程如下圖所示:
圖 5. 字元解碼相關類結構
inputstreamreader 類是位元組到字元的轉化橋梁,inputstream 到 reader 的過程要指定編碼字符集,否則將採用作業系統預設字符集,很可能會出現亂碼問題。streamdecoder 正是完成位元組到字元的解碼的實現類。也就是當你用如下方式讀取乙個檔案時:
清單 1.讀取檔案
tryfilereader 類就是按照上面的工作方式讀取檔案的,filereader 是繼承了 inputstreamreader 類,實際上是讀取檔案流,然後通過 streamdecoder 解碼成 char,只不過這裡的解碼字符集是預設字符集。str.tostring();
} catch (ioexception e) {}
寫入也是類似的過程如下圖所示:
圖 6. 字元編碼相關類結構
通過 outputstreamwriter 類完成,字元到位元組的編碼過程,由 streamencoder 完成編碼過程。
字元與位元組
z f 字元是可使用多種不同字元方案或 頁來表示的抽象實體。例如,unicode utf 16 編碼將字元表示為 16 位整數序列,而 unicode utf 8 編碼則將相同的字元表示為 8 位位元組序列。公共語言執行庫使用 unicode utf 16 unicode 轉換格式,16 位編碼形式...
字元與位元組
摘 自 位元組 byte 位元組是通過網路傳輸資訊 或在硬碟或記憶體中儲存資訊 的單位。位元組是計算機資訊技術用於計量儲存容量和傳輸容量的一種計量單位,1個位元組等於8位二進位制,它是乙個8位的二進位制數,是乙個很具體的儲存空間。1byte 8bit 字元 人們使用的記號,抽象意義上的乙個符號。1 ...
字元與位元組
ascii碼 乙個英文本母 不分大小寫 佔乙個位元組的空間,乙個中文 漢字佔兩個位元組的空間。乙個 二進位制數字序列,在 計算機中作為乙個數字單元,一般為8位二進位制數,換算為 十進位制。最小值 128,最大值127。如乙個ascii碼就是乙個位元組。utf 8編碼 乙個英文 字元等於乙個位元組,乙...