字节截取

来源:互联网 发布:学c语言需要什么基础 编辑:程序博客网 时间:2024/06/11 23:29
  1. //str : 字符串 ;  subSlength : 字节数 ;
  2. public static String subStr(String str, int subSLength)    
  3.                throws UnsupportedEncodingException{   
  4.            if (str == null)    
  5.                return "";    
  6.            else{   
  7.                int tempSubLength = subSLength;//截取字节数  
  8.                String subStr = str.substring(0, str.length()<subSLength ? str.length() : subSLength);//截取的子串    
  9.                int subStrByetsL = subStr.getBytes("GBK").length;//截取子串的字节长度   
  10.                //int subStrByetsL = subStr.getBytes().length;//截取子串的字节长度   
  11.                // 说明截取的字符串中包含有汉字    
  12.                while (subStrByetsL > tempSubLength){    
  13.                    int subSLengthTemp = --subSLength;  
  14.                    subStr = str.substring(0, subSLengthTemp>str.length() ? str.length() : subSLengthTemp);    
  15.                    subStrByetsL = subStr.getBytes("GBK").length;  
  16.                    //subStrByetsL = subStr.getBytes().length;  
  17.                }    
  18.                return subStr;   
  19.            }  
  20.        } 

此处采用的是GBK字节截取,英文数字算一个字节,汉字和符号算2个字节。
原创粉丝点击