Windows 中的 TXT 文件是否可以保存完全相同的文本,但由于创建时间较早而大小不同?

Windows 中的 TXT 文件是否可以保存完全相同的文本,但由于创建时间较早而大小不同?

我通过剪切和粘贴将一个大 txt ~500 KB 文件分成 6 个文件(另外 5 个),新文件的总大小比原始文件小得多。

这可能是因为 Windows 10 中出现了新的编码方式,而我大约 9 年前创建该文件时却没有采用这种编码方式?

大约 9 年前,当我创建第一个原始文件时,我选择了 Unicode,但现在它是自动的。

答案1

我认为“它是自动的”的意思是您对新文件使用了记事本或其他文本编辑器的默认编码格式。

默认文本编码是 ANSI,每个字符使用一个字节。由于旧编码是 Unicode,每个字符可能使用多个字节,这也许可以解释大小差异。

您应该检查结果,以确保在复制粘贴过程中没有丢失任何数据,例如非 ANSI 字符被截断转换,或者转换为仅相似的 ANSI 字符。

答案2

通过打开每个文件来检查编码记事本然后启动Save As对话框。Encoding选择器将设置为文件保存时使用的任何编码:

在此处输入图片描述

如果不是编码,请检查较大文件中的备用数据流:

  1. 打开Command Propmpt包含相关文件的目录。
  2. 命令dir /R将显示任何具有备用数据流的文件:

(带有 ADS 的文件最常见于Downloads目录中,它们在其中充当 ZoneIdentifiers)

C:\Users\keith\Downloads>dir /AA /R
 Volume in drive C is Windows
 Volume Serial Number is F057-590D

 Directory of C:\Users\keith\Downloads

10/02/2015  09:20 PM         1,730,272 ActiveSetupN.exe
05/12/2019  11:49 AM             8,312 Add_Settings_to_desktop_context_menu.reg
                                   280 Add_Settings_to_desktop_context_menu.reg:Zone.Identifier:$DATA
03/27/2018  10:29 PM         1,747,504 adksetup.exe
02/07/2018  09:18 PM            55,296 advchange.exe

...

06/03/2019  03:32 PM           165,184 amtrak-vacations-network-map-2019.jpg
                                   245 amtrak-vacations-network-map-2019.jpg:Zone.Identifier:$DATA

...

              92 File(s)  2,139,170,500 bytes
               0 Dir(s)  610,151,268,352 bytes free

答案3

有许多“Unicode”字符编码。在 Windows 语言中,“Unicode”通常指 UTF-16LE,因此英文文本每个字符占用 2 个字节。记事本中的默认编码现在是 UTF-8,这将使相同标准英文文本(包括“常见”特殊字符)的大小减半。

答案4

除了已经发布的内容之外,还有另一种可能性。

文件大小有两种。实际文件大小和磁盘上的大小。如果文件碎片很多,则文件大小可能会增加,因为部分文件可以占用簇的一部分,但整个簇都会被计算在内。

因此,文件可能为 300kb,但在磁盘上为 500kb。Windows 倾向于显示最大的文件大小。

您可以通过在资源管理器中右键单击文件并选择属性来验证这一点。在那里,您可以看到文件的文件大小和磁盘上的文件大小。

在此处输入图片描述

相关内容