zoukankan      html  css  js  c++  java
  • String.length()和String.getBytes().length

    1、字符与字节

    抛出如下代码:

    public static void main(String[] args) {
        String str = "活出自己范儿";
        System.out.println(str.length());
        System.out.println(str.getBytes("GBK").length);
    }

    执行结果:

    6
    12

    结论:

    String.length():返回字符串的字符个数,一个中文算一个字符;
    String.getBytes().length:返回字符串的字节长度,一个中文两个字节;

    2、字节长度

    抛出一段代码:

    public static void main(String[] args) {
            String str = "活出自己范";
            System.out.println(str.length());
            try {
                System.out.println(str.getBytes().length);
                System.out.println("GBK=="+str.getBytes("GBK").length);
                System.out.println("UTF-8=="+str.getBytes("UTF-8").length);
                System.out.println("GB2312=="+str.getBytes("GB2312").length);
                System.out.println("ISO-8859-1=="+str.getBytes("ISO-8859-1").length);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }

    执行结果:

    6
    18
    GBK==12
    UTF-8==18
    GB2312==12
    ISO-8859-1==6

    结论:

    String.getBytes().length方法是得到一个字串的字节数组的长度,在获得字符串的字节数组的长度的时候,需要制定编码格式,否则会默认操作系统的编码格式:

    此博文来源于:https://www.jianshu.com/p/b939412d8c38

    缘于生活,而归于工作。本人所书,而意于分享。 如有转载,请注明出处! --活出自己范儿
  • 相关阅读:
    kibana x-pack 更新license
    elastic search集群请求超时
    angular4 angular/cli 版本升级
    windows 编写shell 脚本转化成unix
    spring boot 自定义HandlerMethodArgumentResolver做参数校验
    Fiddler 重定向BUG
    scoop
    acm每日刷题记录
    ccpc 2016 changchun 长春(4.12训练)
    cf 338E
  • 原文地址:https://www.cnblogs.com/Small-sunshine/p/10769049.html
Copyright © 2011-2022 走看看