中英混排文字长度截取 - 点滴记忆*记忆点滴
收藏本站

中英混排文字长度截取

中文字符长度截取。

private static void printByteLength(String s ,String ecodingName){
   System.out.print("字节数: ");
   try {
   System.out.println(s.getBytes(ecodingName).length);
} catch (UnsupportedEncodingException e) {
   e.printStackTrace();
}
}

//判定是否是中文字符
private static boolean isChineseChar(char c) throws UnsupportedEncodingException{
   return String.valueOf(c).getBytes("GBK").length>1;
}

//截取特定长度的字符
private static String substring(String origin,int size) throws UnsupportedEncodingException{
   if(origin!=null&&!"".equals(origin)){
    origin=new String(origin.getBytes(),"GBK");
    if(size>0 && size<origin.getBytes("GBK").length){
     StringBuffer des=new StringBuffer();
     char c;
     for(int i=0;i<size;i++){
      c=origin.charAt(i);
      des.append(c);
      if(isChineseChar(c))
       --size;
     }
     return des.toString();
    }
   }
   System.out.println("nan dao ?");
   return origin;
}


    留下足迹