[size=small]
简单的实用String.getBytes()也可以取得字符长度, 但是当实用不同的字符集的时候就会出现问题, 因此下面的代码是最好的统计字符长度的方法.
比如要检查"名称不能多于60个字符或者30个汉字".
简单的实用String.getBytes()也可以取得字符长度, 但是当实用不同的字符集的时候就会出现问题, 因此下面的代码是最好的统计字符长度的方法.
比如要检查"名称不能多于60个字符或者30个汉字".
/*
* * 计算字符串的字节长度(字母数字计1,汉字及标点计2) *
*/
public static int byteLength(String string) {
int count = 0;
for (int i = 0; i < string.length(); i++) {
if (Integer.toHexString(string.charAt(i)).length() == 4) {
count += 2;
} else {
count++;
}
}
return count;
}
}
[/size]