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);
谢谢楼上的不过我已经解决了。。 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")产生的。如果谁知道是什么原因麻烦解释一下。谢谢。
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);
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")产生的。如果谁知道是什么原因麻烦解释一下。谢谢。