注:默认编码为UTF-8
//1 以GBK方式读取UTF-8码的中文 古文+日韩
String str = "我爱你啊分为了交流大多为不认识的古";
String s0 = new String(str.getBytes(), "GBK");
System.out.println("s0 = " + s0);
//2 以UTF-8的方式读取GBK码的中文 小方块
String s1 = new String(str.getBytes("GBK"), "UTF-8");
System.out.println("s1 = " + s1);
//3 以IS08859-1方式读取UTF-8编码的中文
String s3 = new String(str.getBytes(), "ISO8859-1");
System.out.println("s3 = " + s3);
//4 以IS03859-1方式读取GBK结码的中文
String s4 = new String(str.getBytes("GBK"), "ISO8859-1");
System.out.println("s4 = " + s4);
//5 以GBK方式读取UTF-8编码的中文,然后又用UTF-8的格式再次读取
String s5 = new String(str.getBytes(), "GBK");
String s6 = new String(s5.getBytes("GBK"), "UTF-8");
System.out.println("s6 = " + s6);
//6 以 UTF-8 方式读取GBK编码的中文,然后又用GBK的格式再次读取
String s7 = new String(str.getBytes("GBK"), "UTF-8");
String s8 = new String(s7.getBytes(), "GBK");
System.out.println("s8 = " + s8);
运行结果如下
s0 = 鎴戠埍浣犲晩鍒嗕负浜嗕氦娴佸ぇ澶氫负涓嶈璇嗙殑鍙�
s1 = �Ұ��㰡��Ϊ�˽������Ϊ����ʶ�Ĺ�
s3 = æˆ‘çˆ±ä½ å•Šåˆ†ä¸ºäº†äº¤æµå¤§å¤šä¸ºä¸è®¤è¯†çš„å¤
s4 = ÎÒ°®Äã°¡·ÖΪÁ˽»Á÷´ó¶àΪ²»ÈÏʶµÄ¹Å
s6 = 我爱你啊分为了交流大多为不认识的�?
s8 = 锟揭帮拷锟姐啊锟斤拷为锟剿斤拷锟斤拷锟斤拷锟轿拷锟斤拷锟绞讹拷墓锟�