无法在记事本中查看数据

无法在记事本中查看数据

我有一个 Java 代码,可以读取 Excel 文件并将其写入文本文件。当我获取输出文本文件时,我在记事本中只能看到这样的符号。“‷搮ㄱ〱〰㄰㄰〠〰〠〰〠〰〠〰〠〰〠〰〠〰〠〰〠〰〠〰〠”但如果我在写字板或 ms-word 中打开文本文件,数据就会正确显示。可能是什么错误?

答案1

错误在于使用记事本。记事本使用文件的前几个字节来决定编码,您必须使用特定编码打开文件才能正确读取它。

以下是供您学习的链接:http://blogs.msdn.com/oldnewthing/archive/2007/04/17/2158334.aspx

得到的经验教训是:不要使用记事本。

答案2

您的数据的第一部分很可能看起来像某种编码 (UTF-16) 的 Unicode。这在以前的 Windows 版本中一直是一个问题,您可以阅读在本文中。不过,我认为从 Windows Vista 开始该问题已经得到解决。

一个简单的解决方法是不要使用记事本来存储这些数据。

答案3

命令行开关:notepad /A <filename>,可用于强制文件以 ANSI 编码方式打开,在这种情况下将导致文件正确打开。

这里的问题是“布什隐瞒事实”漏洞,一些 txt 文件有一个 2 或 3 个字节序列,称为字节顺序标记 (BOM),用于标识文件的正确编码,如果文件缺少此标记,记事本会猜测文件的编码,并且可能会猜错。没有 BOM 来指示文件是 ANSI,因此 ANSI 文件始终存在被猜错的风险。一些文本编辑器假设文件是​​ ANSI,如果它没有 BOM,记事本确定文件编码的方法可能因版本而异。

相关内容