java 字符串的长度 含中文 英文 空格_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > java 字符串的长度 含中文 英文 空格

java 字符串的长度 含中文 英文 空格

 2013/11/6 22:10:52  happyqing  程序员俱乐部  我要评论(0)
  • 摘要:packagecom.urt.module.util;importjava.io.UnsupportedEncodingException;/***字符串工具类*@authorzhao*2013.11.6*/publicclassStringUtil{/***返回中英文字符串的字节长度*@paramstr*@return*/publicstaticintgetLength(Stringstr){try{returnstr.getBytes("UTF-8").length;//一个中文占3个字节
  • 标签:英文 Java 字符串

?

class="java" name="code">package com.urt.module.util;

import java.io.UnsupportedEncodingException;

/**
 * 字符串工具类
 * @author zhao
 * 2013.11.6
 */
public class StringUtil {
	
	/**
	 * 返回中英文字符串的字节长度
	 * @param str
	 * @return
	 */
	public static int getLength(String str){
		try {
			return str.getBytes("UTF-8").length; //一个中文占3个字节。
		} catch (UnsupportedEncodingException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
        return 0;
    }
	
	/**
	 * 返回中英文字符串的字节长度
	 * @param str
	 * @return
	 */
	public static int getStrLength(String str){
        if(str==null || str.length()<0){
            return 0;
        }
        int len=0;
        char c;
        for(int i=str.length()-1;i>=0;i--){
            c=str.charAt(i);
            if (c > 255) {
                /**//*
                 * GBK 编码格式 中文占两个字节
                 * UTF-8 编码格式中文占三个字节 len += 3;
                 */
                len += 3;
            } else {
                len++;
            }
        }
        return len;
    }

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		try {
			System.out.println("中文a".getBytes("UTF-8").length); //7
			System.out.println(StringUtil.getStrLength("中文a"));	//7
			System.out.println("中文a".length()); //3
		} catch (UnsupportedEncodingException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

}

?

上一篇: guava之观察者模式 下一篇: 没有下一篇了!
发表评论
用户名: 匿名