public static String subStrOfByte(String str, int num) {
byte[] b = str==null?new byte[0]:str.getBytes();
int i,n=0,index=0,bl=b.length;
index=bl>num?num:bl;
for(i=0;i
if(b[i]<0){
n++;
}
}
String str1=null;
if(n%2==0){
str1=new String(b,0,i);
}else{
str1=new String(b,0,i-1);
}
return str1;
}
要注意的是:gbk编码的汉字,每个汉字占2个字节;utf-8编码的汉字,每个汉字占3个字节。