在文本中找到一个unicode字符 - android

时间:2013-08-14 01:29:58

标签: android unicode

我正在读取包含unicode字符的txt文件。我需要查找此文件中是否存在特定的unicode字符。到目前为止的代码如下,

    try {
        BufferedReader reader = new BufferedReader(
            new InputStreamReader(getAssets().open("DistinctWords.txt"), "UTF-8"));

         int i = 0;
        String mLine = reader.readLine();
        while ((mLine != null)) {
           //process line
//unicode value taken from http://codepoints.net/U+0D85
            if (mLine.contains("\u0D85")){
                i++;
            }
           mLine = reader.readLine(); 

        }

        reader.close();
        Log.i("tula", "Ayanna - " + String.valueOf(i));
    } catch (IOException e) {
        //log the exception
    }

问题:“i”的值始终为“0”。当我从记事本中打开相同的文本文件时,我可以看到该字母但我的代码无法找到它。

1 个答案:

答案 0 :(得分:2)

就像TronicZomB说的那样,我认为你需要寻找真正的角色,比如:

while ((mLine != null)) {
   //process line
    if (mLine.contains("අ")){
        i++;
    }
   mLine = reader.readLine(); 
}

您将需要使用能够处理正确编码的编辑器:

  • Windows上的记事本将允许您在文件上指定UTF-8编码,但您必须将文件上的编码设置为ANSI的UTF-8。
  • 在mac OS-x上,您可以使用TextEdit。在偏好中,与开放&保存选项卡,您可以设置文档编码。
  • 在Linux上,StarOffice可行,但我没有使用它。