Android Tess-Two OCR 无法映射的字符“fi”
Android Tess-Two OCR unmappable character 'fi'
我的 android 应用程序具有使用 tess-two 库的 OCR 功能。我在读取包含 "fi" 的字符串时遇到了这个问题。在baseApi.getUTF8Text()之后,一个获取OCR识别文本的方法,返回的String在那个"fi" 是 "fi" <<<- - - 非常注意那个string. 它不是一个2个字符的字符串,而是一个单字符的字符串。您可以通过复制和粘贴来重现它。现在,我认为这可能是 UTF8 编码或其他我没有足够知识的问题。当我尝试做 string.replace("fi","fi"), Android Studio builds with erors unmappable character for encoding utf-8。我尝试在 google 中搜索,但它会将其识别为常规 "fi" 而不是“fi”。
有什么方法可以修复这个角色吗?
这是我发现的,FWIW:字符“fi”是一个连字(更多信息请参见:Unicode Character 'LATIN SMALL LIGATURE FI' (U+FB01))
这里有一个快速但肮脏的程序,用于查找“fi”并将其替换为任何其他字符:
public class LigatureFI
{
static char ligature_fi = 0xFB01;
public static void main(String[] args)
{
String sligature_fi = Character.toString(ligature_fi);
String string = new String("fififififififififififififififi");
System.out.println(string);
string = string.replaceAll(sligature_fi, "FI");
System.out.println(string);
}
}
如果您的 IDE 抱怨“fi”不在 cp1252 字符集中,请另存为 UTF8。
HTH.
您可以通过在调用 baseApi.setImage
:
之前将其列入黑名单来避免识别 fi
连字
baseApi.setVariable(TessBaseAPI.VAR_CHAR_BLACKLIST, "fi");
为了防止 Android Studio 在您的 java 代码上抛出 unmappable character
错误,请通过 choosing "UTF-8" 将您的文件编码转换为 UTF-8来自 Android Studio window.
右下角附近的选择器
我的 android 应用程序具有使用 tess-two 库的 OCR 功能。我在读取包含 "fi" 的字符串时遇到了这个问题。在baseApi.getUTF8Text()之后,一个获取OCR识别文本的方法,返回的String在那个"fi" 是 "fi" <<<- - - 非常注意那个string. 它不是一个2个字符的字符串,而是一个单字符的字符串。您可以通过复制和粘贴来重现它。现在,我认为这可能是 UTF8 编码或其他我没有足够知识的问题。当我尝试做 string.replace("fi","fi"), Android Studio builds with erors unmappable character for encoding utf-8。我尝试在 google 中搜索,但它会将其识别为常规 "fi" 而不是“fi”。
有什么方法可以修复这个角色吗?
这是我发现的,FWIW:字符“fi”是一个连字(更多信息请参见:Unicode Character 'LATIN SMALL LIGATURE FI' (U+FB01))
这里有一个快速但肮脏的程序,用于查找“fi”并将其替换为任何其他字符:
public class LigatureFI
{
static char ligature_fi = 0xFB01;
public static void main(String[] args)
{
String sligature_fi = Character.toString(ligature_fi);
String string = new String("fififififififififififififififi");
System.out.println(string);
string = string.replaceAll(sligature_fi, "FI");
System.out.println(string);
}
}
如果您的 IDE 抱怨“fi”不在 cp1252 字符集中,请另存为 UTF8。
HTH.
您可以通过在调用 baseApi.setImage
:
fi
连字
baseApi.setVariable(TessBaseAPI.VAR_CHAR_BLACKLIST, "fi");
为了防止 Android Studio 在您的 java 代码上抛出 unmappable character
错误,请通过 choosing "UTF-8" 将您的文件编码转换为 UTF-8来自 Android Studio window.