/**
* 定长截取字符串 [按照字节长度截取]
* @param origNal 需要截取的原字符串
* @param start 截取起始下标
* @param count 截取的总长度
* @return 截取后的字符串
*/
public String subStr(String origNal, int start, int count) {
// 原字符串合理性校验
if (origNal == null || "".equals(origNal)) {
return origNal;
}
StringBuilder builder = new StringBuilder();
int len = 0;
char c;
try {
for (int i = 0; i < origNal.toCharArray().length; i++) {
c = origNal.charAt(i);
len += String.valueOf(c).getBytes("GBK").length;
if (len >= start && len <= start + count) {
builder.append(c);
}
if (len > start + count) {
break;
}
}
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return new String(builder);
}
java按照GBK编码格式 字节定长截取字符串
最新推荐文章于 2024-07-15 02:38:31 发布