需求:按字节数截取字符串,但是不允许劈开汉字。
public static final String subStrViaByteLen(String src, Charset charset, int len) {
if (src==null || src.length()<1) {
return src;
}
if (len < 1) {
return "";
}
byte[] tmp = src.getBytes(charset);
String sub = new String(tmp, 0, len, charset);
int lastIndex = sub.length()-1;
if (sub.charAt(lastIndex) != src.charAt(lastIndex)) {
sub = sub.substring(0, lastIndex);
}
return sub;
}