gpt4 book ai didi

java - 使 Java 中的扫描器对象可读西里尔文

转载 作者:行者123 更新时间:2023-11-30 09:28:42 24 4
gpt4 key购买 nike

我的问题是,当我将西里尔字母输入扫描仪时,当我尝试将其打印出来时,它变成了 gobbldygook(例如,输入 ходить,输出 = Ö–æ–¥–‖)。我有西里尔字母的 Ascii 值以及存储在文本文件中的 UTF-8 值。我很确定 System.in 是错误的,那么我到底应该做什么?

Scanner s = new Scanner(System.in);
String line = s.nextLine();
System.out.println(line);

最佳答案

(我提前为我的英语道歉)我有同样的问题。我使用“eclipse”,文本文件编码是 UTF-8。当我从控制台输入西里尔文字并尝试打印它时,输出结果与您的相似。

Scanner input = new Scanner(System.in,  "UTF-8");
String word = input.nextLine();
System.out.println(word);

结果:

дума
РґСѓРјР°

这两行必须相同,但它们不是。

我的决心是:

Scanner input = new Scanner(System.in,  "UTF-8");
String word = input.nextLine();

try {
word = new String(word.getBytes("windows-1251"), Charset.forName("UTF-8"));
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(word);

结果:

дума
дума

这是正确的结果。

对不起,我的英语很差...希望对您有所帮助。

关于java - 使 Java 中的扫描器对象可读西里尔文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13898578/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com