import java.io.IOException;public class Test {
public static void main(String[] args) throws IOException { String str = "中国";
byte[] b = str.getBytes("GB2312");
System.out.println(b.length + "GBK" + (str));
for (byte bi : b) {
System.out.println(Integer.toHexString(bi));
} str = new String(b, "UTF-8");
b = str.getBytes("UTF-8");
System.out.println("UTF-8 " + b.length + str);
for (byte bi : b) {
System.out.println(Integer.toHexString(bi));
} str = new String(b, "iso-8859-1");
b = str.getBytes("iso-8859-1");
System.out.println("ISO" + b.length + str);
for (byte bi : b) {
System.out.println(Integer.toHexString(bi));
}
System.out.println("--------转回去-------"); str = new String(b, "UTF-8");
b = str.getBytes("UTF-8"); System.out.println("utf-8" + (b.length) + str); for (byte bi : b) {
System.out.println(Integer.toHexString(bi));
} str = new String(b, "GB2312");
b = str.getBytes("GBK"); System.out.println("GB2312 " + b.length + str); for (byte bi : b) {
System.out.println(Integer.toHexString(bi));
}
}
}怎么转不回来,ISO-8859-1 到UTF-8都正常,但UTF-8到GB2312就转回到'中国'
public static void main(String[] args) throws IOException { String str = "中国";
byte[] b = str.getBytes("GB2312");
System.out.println(b.length + "GBK" + (str));
for (byte bi : b) {
System.out.println(Integer.toHexString(bi));
} str = new String(b, "UTF-8");
b = str.getBytes("UTF-8");
System.out.println("UTF-8 " + b.length + str);
for (byte bi : b) {
System.out.println(Integer.toHexString(bi));
} str = new String(b, "iso-8859-1");
b = str.getBytes("iso-8859-1");
System.out.println("ISO" + b.length + str);
for (byte bi : b) {
System.out.println(Integer.toHexString(bi));
}
System.out.println("--------转回去-------"); str = new String(b, "UTF-8");
b = str.getBytes("UTF-8"); System.out.println("utf-8" + (b.length) + str); for (byte bi : b) {
System.out.println(Integer.toHexString(bi));
} str = new String(b, "GB2312");
b = str.getBytes("GBK"); System.out.println("GB2312 " + b.length + str); for (byte bi : b) {
System.out.println(Integer.toHexString(bi));
}
}
}怎么转不回来,ISO-8859-1 到UTF-8都正常,但UTF-8到GB2312就转回到'中国'
text file encdong GBK
5GBK中国
3f
3f
3f
ffffffa8
ffffffb2
UTF-8 9???
3f
3f
3f
ffffffef
ffffffbf
ffffffbd
ffffffef
ffffffbf
ffffffbd
ISO9???锟斤
3f
3f
3f
ffffffef
ffffffbf
ffffffbd
ffffffef
ffffffbf
ffffffbd
--------转回
utf-89?????
3f
3f
3f
ffffffef
ffffffbf
ffffffbd
ffffffef
ffffffbf
ffffffbd
GB2312 9??
3f
3f
3f
ffffffef
ffffffbf
ffffffbd
ffffffef
ffffffbf
ffffffbd
4GBK中国
ffffffd6
ffffffd0
ffffffb9
fffffffa
ISO4???ú
ffffffd6
ffffffd0
ffffffb9
fffffffa
UTF-8 8?й?
ffffffef
ffffffbf
ffffffbd
ffffffd0
ffffffb9
ffffffef
ffffffbf
ffffffbd
ISO8????????
ffffffef
ffffffbf
ffffffbd
ffffffd0
ffffffb9
ffffffef
ffffffbf
ffffffbd
--------转回去-------
utf-88?й?
ffffffef
ffffffbf
ffffffbd
ffffffd0
ffffffb9
ffffffef
ffffffbf
ffffffbd
GB2312 8锟叫癸拷
ffffffef
ffffffbf
ffffffbd
ffffffd0
ffffffb9
ffffffef
ffffffbf
ffffffbd
http://topic.csdn.net/u/20080623/16/e0f44f00-eaf9-4d38-b325-a3cc443f2ec9.html