String如果是中文的长度问题 to Athene(菜菜子)在你的机器上输出长度是 7 的原因,只不过是因为你在编译的时候的编码方式为 iso8859-1 的原因。如果你用这种方式编译: javac -encoding GBK YourClass.java,则输出一定是 5。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 String str = "中文abc"; byte[] byteTest = str.getBytes("ISO8859-1"); str = new String(byteTest); System.out.println(str.length()); 这样输出结果还是5,应该怎么办呢? 最简单的方法int len=str.getBytes().length;即可 len=7 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); java 一次获取多个数据集 谁可以提供Blowfish--ECB的源码,要求加密后的结果为16进制字节数组。 将一个mp3文件打进jar包后,如何播放? 如何将char[]转换成String类型的数据 SWT 的关于Shell和Table的简单问题 谁能帮我完美这个程序? 求助啊~是在没时间学了~大家帮个忙 这里到底有几个String Object? 关于使用jbuilder中Design的问题 请帮我看看下面的错误是什么问题!!! 有谁知道:******关于如何拿到java的考核证书? 急啊!我应该买什么样的kjava书?或哪儿有kjava的教程下载,
byte[] byteTest = str.getBytes("ISO8859-1");
str = new String(byteTest);
System.out.println(str.length());
这样输出结果还是5,应该怎么办呢?
int len=str.getBytes().length;即可 len=7
如果你是这样编译的话,则:
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);