[問題] InputStreamReader的read()
最近在看歐萊裡的JAVA網路程式設計
裡面有講到這段code:
InputStreamReader r = new InputStreamReader(in, "MacCyrillic");
StringBuilder sb = new StringBuilder();
int c;
while((c=r.read()) != -1) sb.append((char) c);
return sb.toString();
他是讀取某個輸入串流in,並以MacCyrillic編碼轉換為unicode字串輸出。
其中read()會回傳0~65535的int,這代表Unicode字元,
我的問題是為什麼只會回傳0~65535而已?Unicode編碼不是有好幾百萬個嗎?
另外,(char)這個強制轉型是把int轉成char,它的轉換標準是依據什麼呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.193.37.2
※ 文章網址: https://www.ptt.cc/bbs/java/M.1423390244.A.22E.html
推
02/08 20:01, , 1F
02/08 20:01, 1F
→
02/08 20:02, , 2F
02/08 20:02, 2F
→
02/08 20:03, , 3F
02/08 20:03, 3F
→
02/08 20:04, , 4F
02/08 20:04, 4F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):
java 近期熱門文章
PTT數位生活區 即時熱門文章