题外话:上次写了个标签,在JSP页面里按字节截取字符串,老大说不太理想,我仔细想了也是,没什么经验,然后改了一下。
原理: 没有像网上说的那么复杂,一个字节8位,最大二进制11111111, 最大十进制255,ASCII码小于255即单字节,超过均做两字节处理。
静态实现:
int d = 0; // byte length
int n = 0; // char length
for (; n < str.length(); n++) {
d = (int) str.charAt(n) > 256 ? d + 2 : d + 1;
if (d > width) {
break;
}
}
if (d > width) {
n = n - ellipsis.length() / 2;
return str.substring(0, n > 0 ? n : 0) + ellipsis;
}
return str = str.substring(0, n);
}
转载请注明出处:http://blog.csdn.net/xxd851116/archive/2009/08/30/4498457.aspx