如何检查字符串的字符集是否与设备语言的字符集相同

时间:2013-12-21 20:38:36

标签: java android

我想检测一个字符串是否包含不在设备语言字符中的字符

有可能吗?

我的一些应用用户用阿拉伯语写作,其余用英文写。我需要翻译文本只有当文本是阿拉伯文时,用户的设备是英文或其他方式

1 个答案:

答案 0 :(得分:2)

您可以通过

获取设备语言
Locale.getDefault().getDisplayLanguage();

然后检查输入字符串以查看字符串中的任何字符是否在范围之间 \u0600\u06FF(Unicode中的阿拉伯语字符集),那么它应该做的伎俩

Here是如何检查字符串是否在特定字符集中的答案

public boolean isEncoded(String text){
    Charset charset = Charset.forName("US-ASCII");
    String checked=new String(text.getBytes(charset),charset);
    return !checked.equals(text);
}