最近在看欧莱里的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,它的转换标准是依据什么呢?