日期:2014-05-20  浏览次数:20694 次

问关于getBytes()的问题
定义了字符串:str= "我ABC汉字d "后
byte[]   bytes   =   str.getBytes();
System.out.println(bytes.length);
结果输出的是10

然后我不明白的是在java中不是一个字符占两个字节吗?
但根据结果来看,它好象是按照一个字节来算的
请问哪位知道是怎么回事情,或许我对哪里理解不对了
非常感谢!

------解决方案--------------------
汉字占两个字节,字符占一个字节.
------解决方案--------------------
up
------解决方案--------------------
java一个字符确实占两个字节,但是getBytes()会把英文字符编码成占一个字节
------解决方案--------------------
GB2312编码,ascil字符用单字节表示.