当前位置 : 主页 > 编程语言 > java >

java中字符串如何计算字节长度

来源:互联网 收集:自由互联 发布时间:2023-01-30
目录 java字符串计算字节长度 1.方法一 2.方法二 3.代码中运用 java截取字符串的指定字节数长度 java字符串计算字节长度 通常,计算字符串长度大小方法很多,熟悉的有将字符串写入文件
目录
  • java字符串计算字节长度
    • 1.方法一
    • 2.方法二
    • 3.代码中运用
  • java截取字符串的指定字节数长度

    java字符串计算字节长度

    通常,计算字符串长度大小方法很多,熟悉的有将字符串写入文件,然后读取文件大小即可。这种方式还是比较麻烦的。

    1.方法一

    需要先拿到字符串===》然后再写入文件===》再读取文件===》统计文件字节流长度===》可以拿到字符串的字节大小

    2.方法二

            //编码格式有 UTF-8 GB2312 GBK UTF-16 UTF-32
            try {
                int length = "测试不同编码格式的字节长度".getBytes("编码格式").length;
            } catch (UnsupportedEncodingException e) {
                e.printStackTrace();
            }

    通过String的getBytes()方法去统计它的length,这样是最方便的,但是有个不好之处就是设置编码格式,这个还是有很大影响的,采用那种编码格式计算计算出来的字节长度不一样,所以这个比较重要。

    能想到的比较好的方法,就是将编码格式设置在配置文件中,这样不影响字符串的字节长度计算,也比较灵活,采用那种编码格式,就设置成什么的,后期好维护。

    3.代码中运用

    java截取字符串的指定字节数长度

    由于Java字符串的length计算的是字符长度,而数据库的限制长度是字节数,为了防止报错,可以在Java程序中截取字符串的指定字节数长度

        public static String getLenString(String content, int len) {
            if (content == null || content.length() == 0) {
                return content;
            }
            byte[] bytes = content.getBytes();
            if (bytes.length > len) {
                int tempLen = new String(bytes, 0, len).length();
                content = content.substring(0, tempLen);
                // 防止最后一个字符的长度不是一个字节数
                if (content.getBytes().length > len) {
                    content = content.substring(0, tempLen - 1);
                }
            }
            return content;
        }
    

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持自由互联。

    上一篇:SpringBoot公共页面抽取方法实现过程介绍
    下一篇:没有了
    网友评论