java 字符串的长度 含中文 英文 空格
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 blocke.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 stubtry {System.out.println("中文a".getBytes("UTF-8").length); //7System.out.println(StringUtil.getStrLength("中文a"));//7System.out.println("中文a".length()); //3} catch (UnsupportedEncodingException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}
?