关于中文字符的读入和输出问题!!老鸟指教!
import java.io.*;
class TestIO
{
public static void main(String[] args) throws Exception
{
byte[] b=new byte[10];
int a =System.in.read(b);
for (int i=0;i<b.length;i++)
System.out.println((char)b[i]);
}
}
以上是从控制台接受输入的字符然后打印出来,但是在输入中文的时候
打印出来的却是"??",原因是因为java 中字符都是采用unicode编码,不
管是中文字符还是一个英文字符都占用两个字节,即16位,英文字符在
存贮时都只存贮了低八位,高八位都是空的,而汉字则16位都存满了,
System.in.read()在读取时,好象只取了底八位,所以汉字在读取时实际上
只读了半个汉字!......
不知道说得对不对,请高手指教!!另外有什么方法可以实现可以把汉字完整读
出来呢??(好象只要判断最高位为1就可以了,但具体不知道怎么做啊)