我想检测一个字符串是否包含不在设备语言字符中的字符
有可能吗?
我的一些应用用户用阿拉伯语写作,其余用英文写。我需要翻译文本只有当文本是阿拉伯文时,用户的设备是英文或其他方式
答案 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);
}