我想在控制台输入一个汉字 然后通过DataInputStream类读取获得char类型,然后输出char类型对应的unicode类型并转换为十六进制,请高手们提点,谢谢
比如我在控制台输入一个汉字:中,可以得到他的char类型 并转换为unicode为:20013

解决方案 »

  1.   

     你上面的例子中的确“中”,转换为unicode为:20013是十进制转换,而不是十六进制,十六进制值为4e2dpackage cn.com;
    import java.io.DataInputStream;
    import java.io.IOException;public class DataInputStreamTest {
    public static void main(String[] args) throws IOException {
    DataInputStream in = new DataInputStream(System.in);
    byte[] buf = new byte[1024]; 
    int len = -1;
    String str ="";
    while((len = in.read(buf))!=-1){
    str =new String(buf,0,len);  
    for(int i=0;i<str.length()-2;i++){
    System.out.println((int)str.charAt(i));
    System.out.println(Integer.toHexString((int)str.charAt(i)));   
    }
    }
    in.close();
    }
    }