Java 按字节计算字符串的长度

在《从后向前截取指定长度的字符串》中介绍了如何截取字符串,本文介绍如何统计字符串的字节长度。

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.io.UnsupportedEncodingException;

public class GetLength {
    private static final Logger logger = LoggerFactory.getLogger(GetLength.class);

    // 编码方式
    private static final String ENCODE_UTF = "UTF-8";

    /**
     * 计算中英文字符串的字节长度 <br/>
     * 一个中文占3个字节
     *
     * @param str
     * @return int 字符串的字节长度
     */
    public static int getLength(String str) {
        if (str == null || str.length() == 0) {
            return 0;
        }
        try {
            return str.getBytes(ENCODE_UTF).length;
        } catch (UnsupportedEncodingException e) {
            logger.error("计算中英文字符串的字节长度失败,", e);
        }
        return 0;
    }

    /**
     * 计算中英文字符串的字节长度
     *
     * @param str
     * @return int
     */
    public static int getStrLength(String str) {
        if (str == null || str.length() == 0) {
            return 0;
        }
        int len = 0;
        for (int i = 0, j = str.length(); i < j; i++) {
            //UTF-8编码格式中文占三个字节,GBK编码格式 中文占两个字节 ;
            len += (str.charAt(i) > 255 ? 3 : 1);
        }
        return len;
    }

    public static void main(String[] args) {
        String str = "农业银行 3Wiener,支付密";
        System.out.println(getLength(str));
        System.out.println(getStrLength(str));
    }

}

原文地址:https://www.cnblogs.com/east7/p/12041053.html

时间: 2024-11-05 22:43:06

Java 按字节计算字符串的长度的相关文章

Java 按字节获得字符串(中文)长度

引自:http://songjianyong.iteye.com/blog/1552973 package cn.com.songjy.test; import java.io.UnsupportedEncodingException; /** * 在Java中按字节获得字符串长度的两种方法 * */ public class App { public static void main( String[] args ) throws UnsupportedEncodingException {

javascript计算字符串的长度区分中英文

javascript计算字符串的长度区分中英文:计算字符串的长度是常有的操作,代码如下: var str="I love 蚂蚁部落"; console.log(str.length); 使用length计算字符串的长度,得出的结果是字符串中字符的个数,而在实际应用中可能需要计算字符串所占有的字节长度,一个汉字占两个字节,一个英文字符占一个字节,代码如下: var zfl={}; zfl.GetLength=function(str){ var realLength=0,len=str.

【JavaScript】计算字符串的长度

定义: functionGetChineseCount(str) { varchinieseCount=0; varbadChar="ABCDEFGHIJKLMNOPQRSTUVWXYZ"; badChar+="abcdefghijklmnopqrstuvwxyz"; badChar+="0123456789"; badChar+=""+" ";//半角与全角空格 badChar+="`[emai

计算字符串的长度值

当字符串长度未知,需要动态设置一个UI控件的高度和宽度(比如一个UILabel),这时需要计算字符串的长度 //两个重要参数,一个是最大的宽度,一个是字体的font值 //返回的CGRect 对象,包括宽度和高度值 /* 计算item高度 */ -(CGFloat)calculateItemStringLength:(NSString*)title{ // NSStringDrawingOptions options = NSStringDrawingUsesLineFragmentOrigin

java按照字节切割字符串,解决汉字的问题

编写一个截取字符串的函数,输入为一个字符串,截取开始地址,截取字节数,输出为按字节截取的字符串. 但是要保证汉字不被截半个, 如"我ABC",0,4,应该截为"我AB",输入"我ABC汉DEF",1,4,应该输出为"ABC"而不是"ABC+汉的半个". import java.io.UnsupportedEncodingException; public class SubStr { public stat

计算字符串的长度

1.cl_abap_list_utilities=>dynamic_output_length 类得静态方法可以计算出字符串长度.以下输出的是7 DATA: lv_str TYPE string, lv_len TYPE I , lv_char TYPE c . lv_str = 'abc中国'. *lv_char = lv_str+3(0). lv_len = cl_abap_list_utilities=>dynamic_output_length( lv_str ). *lv_len =

JS计算字符串实际长度

http://www.qttc.net/201207136.html // UTF8字符集实际长度计算 function getStrLeng(str){ var realLength = 0; var len = str.length; var charCode = -1; for(var i = 0; i < len; i++){ charCode = str.charCodeAt(i); if (charCode >= 0 && charCode <= 128) {

iOS中动态计算字符串的长度

在iOS7以下动态算一个string的size的时候可以用sizeWithFont - (CGSize)sizeWithFont:(UIFont *)font 具体应用: CGSize statuseStrSize = [lcsstring sizeWithFont:string.font]; 或者 - (CGSize)sizeWithFont:(UIFont *)font constrainedToSize:(CGSize)size lineBreakMode:(NSLineBreakMode

Problem C: 指针:自定义函数length,调用它计算字符串的长度

#include<stdio.h> int length(char*s) { int i,count; while(*s!='\0') { *(s++); count++; } return count; } int main() { char s[80]; while(gets(s)!=NULL) { int t; t=length(s); printf("%d\n",t); } return 0; } 原文地址:https://www.cnblogs.com/chenl