javac -encoding ISO8859-1 YourClass.java
如果你是这样编译的话,则:
String str = "中文abc";
System.out.println(str.length());
输入的一定是 7。
javac -encoding GBK YourClass.java
如果你是这样编译的话,则:
String str = "中文abc";
System.out.println(str.length());
输入的一定是 5。
以下的语句,你用两种编译方式输出的结果是不同的,这也是很多系统产生中文问题的原因。
String str = "中国";
System.out.println("String length: " + str.length());
System.out.println("Byte array length: " + str.getBytes().length);
System.out.println("String: " + str);
str = new String(str.getBytes("ISO8859-1"), "GBK");
System.out.println(str);
阅读(871) | 评论(0) | 转发(0) |