private static void structedChineseCharacter()throws UnsupportedEncodingException{
byte[] b={(byte)0xb0,(byte)0xa1};
String gb=new String(b,"gb2312");
System.out.println (gb);
b=gb.getBytes();
System.out.println ("unicode的编码是: ");
for (int i = 0; i<b.length; i++){
System.out.print ("0x"+Integer.toHexString(b[i])+"\t");
}
}
打印出来结果是:
啊
unicode的编码是:
0xffffffb0 0xffffffa1 Press any key to continue...
怎么长出来了那么多的f啊,
一个字节不可能有那么大的编码啊.
高手,给我说说些其中的原因吧.
byte[] b={(byte)0xb0,(byte)0xa1};
String gb=new String(b,"gb2312");
System.out.println (gb);
b=gb.getBytes();
System.out.println ("unicode的编码是: ");
for (int i = 0; i<b.length; i++){
System.out.print ("0x"+Integer.toHexString(b[i])+"\t");
}
}
打印出来结果是:
啊
unicode的编码是:
0xffffffb0 0xffffffa1 Press any key to continue...
怎么长出来了那么多的f啊,
一个字节不可能有那么大的编码啊.
高手,给我说说些其中的原因吧.
String as ;
String s1 = "";
for(int i = 0; i < s.length(); i++) {
as = Integer.toHexString(s.charAt(i) & 0xffff);
s1 = s1 + "\\u" + as;
}
return s1;
}