public class Test { public static void main(String[] args) { String ct = "测试内容acd"; System.out.println(ct.getBytes().length); } } 以上程序在eclipse下运行结果为:11 在netbeans下运行结果为:15
这个多简单的问题... 因为两个工具设置的本地编码不一致 eclipse设置的是GBK netBeans设置的是UTF-8 你好好看getBytes()方法 在没有参数的情况下 后面的说明是: 使用平台的默认字符集将此 String 编码为 byte 序列,并将结果存储到一个新的 byte 数组中。 那就看你当前工具设置的是啥子编码了 GBK 字母占一个字节 而UTF-8 显然就不是这样了 可使用这个方法 getBytes("UTF-8") 这样就保证是一样的了 表示按某一个编码转换 getBytes public byte[] getBytes(String charsetName) throws UnsupportedEncodingException 使用指定的字符集将此 String 编码为 byte 序列,并将结果存储到一个新的 byte 数组中。 当此字符串不能使用给定的字符集编码时,此方法的行为没有指定。如果需要对编码过程进行更多控制,则应该使用 CharsetEncoder 类。