我有一个文本文件,其内容是从pdf文件复制的。基本上,在此文本文件中使用西里尔字母,但不特别使用俄语。例如,俄语和英语中的小写字母a看起来相同,但是编码不同。
现在,我已将文本文件中的单词放入HashMap中,但是我无法检索它们,因为我为访问它们而编写的内容是拉丁字母,但是期望使用西里尔字母。让我再举一个例子。单词“ ba”由字符组成,字符在拉丁字母中的编码为(98,97),但在地图中为(98,1072)。我基本上希望在阅读文本时将字符从西里尔文转换为拉丁文。老实说,我对编码没有很深的了解,所以如果您需要一个代码示例,我可以提供。
这就是我读取文件的方式。
public static String getString(String filename) throws IOException {
InputStream inputStream = TextParser.class.getClassLoader().getResourceAsStream(filename);
if (inputStream==null) throw new NullPointerException("InputStream is null");
final StringBuilder out = new StringBuilder();
Reader in = new InputStreamReader(inputStream, StandardCharsets.UTF_8);
String line;
try (BufferedReader bufferedReader = new BufferedReader(in)) {
while ((line = bufferedReader.readLine()) != null) {
out.append(line);
}
}
return out.toString();
}