0
点赞
收藏
分享

微信扫一扫

String.length()和String.getBytes().length的区别

黄昏孤酒 2022-04-20 阅读 59
java

String.length() 是表示字符串所需的UTF-8代码单元的数量
String.getBytes().length 是在默认编码中表示字符串所需的字节数

举例说明:

    public static void main(String[] args) {
        String utf="张";
        System.out.println("字符串长度="+utf.length()+",字符串字节"+utf.getBytes(Charset.forName("UTF-8")).length);
        System.out.println("字符串长度="+utf.length()+",字符串字节"+utf.getBytes(Charset.forName("GBK")).length);
    }

输出结果:

字符串长度=1,字符串字节3
字符串长度=1,字符串字节2

总结:

UTF编码方式中一个汉字三个字节、GBK编码方式中一个汉字两个字节,UTF/GBK其余都是一个字节.

举报

相关推荐

0 条评论