/**
* 计算双字节字符
*
* @param s
* @return
*/
public static int countAsian(String s) {
int n = 0;
for (int i = 0; i < s.length(); i++) {
char c = s.charAt(i);
/**
* 如果大于255代表是中文,其中65279为bom标志符。一般用UE或记事本编辑过的UTF-8的文件头会加入BOM标识,
* 该标识由3个char组成。在UTF-8的标准里该BOM标识是可有可无的,Sun 的javac
* 在编译带有BOM的UTF-8的格式的文件时会出现“非法字符:\65279”的错误。
*/
if (c > 255 && c != 65279) {
n++;
}
}
return n;
}
/**
* 是否存在东亚字符
*
* @param s
* @return
*/
public static boolean hasAsian(String s) {
for (int i = 0; i < s.length(); i++) {
char c = s.charAt(i);
if (c > 255 && c != 65279) {
return true;
}
}
return false;
}