我想写一个小程序想把16进制转换文中文,但是我一直解决不了怎么把一个整数转化为unicode格式。谁能帮帮我啊。。感激不尽
例如50403准换为unicode的格式应该怎么办

解决方案 »

  1.   

        char c = '日';
        int i = (int)c;
        System.out.println("将日强制转化成int型: "+i);//
      
        System.out.println("将日转化成十六进制: "+Integer.toHexString('日'));//
        String ri = Integer.toHexString('日');
        int riii = Integer.parseInt(ri, 16);
        System.out.println("日->十六进制->十进制: "+riii);
        System.out.println("日->十六进制->十进制->日: "+ (char)riii);
      

  2.   

    谢谢楼上的不过我已经解决了。。
    public class Test {
        public static void main(String[] args) throws UnsupportedEncodingException{
            StringBuffer buffer=new StringBuffer();
            buffer.appendCodePoint(0xbac3);
            System.out.println(new String(buffer.toString().getBytes("utf-16"),"gbk"));
        }}这样就能把一个16进制转换为gbk编码的中文了。。但是不知道为什么编译出来的第一个是乱码。只要把第一字(一个16位的数)去掉,就可以了。我在试验了下。这个是又getBytes("utf-16")产生的。如果谁知道是什么原因麻烦解释一下。谢谢。