我讀過使用Reader/Writer讀取/寫入字符數據和使用InputStream/OutputStream讀取/寫入二進制數據。此外,在Java字符是2個字節。我想知道下面的程序是如何工作的。它從標準輸入存儲中讀取單個字節的字符並將其打印出來。兩字節字符如何在這裏適合一個字節?在java中將字符存儲爲單個字節
http://www.cafeaulait.org/course/week10/06.html
我讀過使用Reader/Writer讀取/寫入字符數據和使用InputStream/OutputStream讀取/寫入二進制數據。此外,在Java字符是2個字節。我想知道下面的程序是如何工作的。它從標準輸入存儲中讀取單個字節的字符並將其打印出來。兩字節字符如何在這裏適合一個字節?在java中將字符存儲爲單個字節
http://www.cafeaulait.org/course/week10/06.html
的註釋說明它非常清楚:
// Notice that although a byte is read, an int
// with value between 0 and 255 is returned.
// Then this is converted to an ISO Latin-1 char
// in the same range before being printed.
因此,基本上,這假設到來的字節代表了ISO-8859-1的字符。
如果您使用不同編碼的控制檯,或者在 ISO-8859-1中提供不是的字符,最終會出現問題。
基本上這是不是不錯的代碼。
謝謝,Jon – Jin