gpt4 book ai didi

java - 在 Java 中读取奇怪的 unicode 字符?

转载 作者:搜寻专家 更新时间:2023-11-01 01:37:00 25 4
gpt4 key购买 nike

我有以下文本文件:

enter image description here

文件以utf-8编码保存。

我使用了下面的代码来读取文件的内容:

FileReader fr = new FileReader("f.txt");
BufferedReader br = new BufferedReader(fr);
String s1 = br.readLine();
String s2 = br.readLine();
System.out.println("s1 = " + s1.length());
System.out.println("s2 = " + s2.length());

输出:

s1 = 5

s2 = 4

然后我尝试使用 s1.charAt(0); 获取 s1 的第一个字符,它是 ''(空白)字符。这就是为什么 s1 的长度为 5。即使我尝试使用 s1.trim(); 它的长度仍然是 5。我不知道为什么会这样?如果文件使用 ASCII 编码保存,它可以正常工作。

最佳答案

记事本显然用 byte order mark 保存了文件,开头的一个不可打印字符,仅将其标记为 UTF-8,但不需要(实际上不建议)使用。您可以忽略或删除它;其他文本编辑器通常会让您选择使用带或不带 BOM 的 UTF-8。

关于java - 在 Java 中读取奇怪的 unicode 字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9889064/

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