JAVA如何判断一个字符串的内容是哪种语言

如String a = “eng”,String b="中文"
是否有方法读取字符串A,能返回locale.ENGLISH之类的
不一定是中英文的区别哦,也许是英文和西班牙文的区别呢

觉得是不是可以这样,中英文区的编码范围不同,是不是可以获取每个字符的编码,用大于小于某个值来判断是中文还是英文

可参考以下程序:

public class Main {

/**
* @param args
*/
public static void main(String[] args) {
String str1 = "中国";
String str2 = "english";
char[] c1 = str1.toCharArray();
char[] c2 = str2.toCharArray();
for (int i = 0; i < c1.length; i++) {
int num = c1[i];
String numstr = Integer.toBinaryString(num);
System.out.println(numstr);
if (numstr.length() > 8) {
System.out.println("汉字");

} else {
System.out.println("英文");
}
}
for (int i = 0; i < c2.length; i++) {
int num = c2[i];
String numstr = Integer.toBinaryString(num);
System.out.println(numstr);
if (numstr.length() > 8) {
System.out.println("汉字");

} else {
System.out.println("英文");
}
}

}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-09-17
我觉得不太可能 楼上的几种方法太片面~~如果我输入的中英混合呢?
感觉 如果是输入特定的值 可以用if else判断一下 输入其他都为非法字符
如果不是特定字符 可以尝试楼上的几个方法 但需要补充的是用charat等字符串处理方法 多重判断一下
只能提供个思路 希望对您有所帮助
第2个回答  2010-09-17
中文区间:\u4e00-----\u9fa5,十六进制,
可以定义两个字符 ,看下两端是什么字
第3个回答  2010-09-30
16进制
第4个回答  2010-09-17
判断ASC码 我觉得所有中文应该都在一个ASC码区间中
相似回答