根据字符的Unicode码判断字符是半角字符还是全角字符
Java:
/**
* 半角、全角文字处理工具类
*
* @author 陳峰
*/
public class DbcSbcUtils {
/**
* 半角、全角字符判断
*
* @param c
* 字符
* @return true:半角; false:全角
*/
public static boolean isDbcCase(char c) {
// 基本拉丁字母(即键盘上可见的,空格、数字、字母、符号)
if (c >= 32 && c <= 127) {
return true;
}
// 日文半角片假名和符号
else if (c >= 65377 && c <= 65439) {
return true;
}
return false;
}
/**
* 字符串长度取得(区分半角、全角)
*
* @param str
* 字符串
* @return 字符串长度
*/
public static int getLength(String str) {
int len = 0;
for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
if (isDbcCase(c)) { // 半角
len = len + 1;
} else { // 全角
len = len + 2;
}
}
return len;
}
/**