字符串字节数问题

03-12-18 wenjixiao
刚才,看到这里的一个贴,有点不解。

比如:

String s="我满ab";

s到底占多少byte?

java的字符不都是占2byte吗?

字符串里的难道特殊?

fiddle
2003-12-23 09:15
你不能自己写个程序测试一下吗? 顺便告诉我结果 :)

jxb8901
2003-12-25 10:11
public class Test {
  public static void main(String[] args) {
    String s = "我满ab";
    System.out.println("s.length()="+s.length());
    System.out.println("s.getBytes().length="+s.getBytes().length);
  }
}

结果:
s.length()=4
s.getBytes().length=6
<p>

wenjixiao
2003-12-26 16:47
多谢仁兄。

看书上说,java的字符是用unicode编码的,应该是16为呀?!两个字节。

怎么,像现在的情况是中文一个字两个字节,而英文则是一个字节。这不是有问题吗?

而且,char c='a';这样的字符c,书上可是说占两个字节。

String是字符的数组,怎么把字符弄短了呢?

猜你喜欢