我试图理解以下问题。我正在读取文件的文件信息,如下所示:
FileInfo info = new FileInfo(path);
Run Code Online (Sandbox Code Playgroud)
然后,当我这样做时,代码会为我的文件返回16599774info.Length字节。当我将字节转换为MB时,我得到15.8 MB。
有人可以向我解释一下字节大小与 MB 大小之间的区别吗?
通常,文件系统以兆字节(MiB) 为单位计算文件大小,但以兆字节(MB) 为单位报告结果。这些单位之间的区别在于,MB 是以 10 为基数的单位,如您所料,它有 1000000 字节(一百万)。但MiB是一个base 2单位,包含1024*1024字节(1048576字节)。如果将 16599774 字节除以 1048576(每兆字节的字节数),您将得到 15.8 兆字节 (MiB)。但操作系统再次以兆字节 (MB) 为单位报告此数字。
请注意,HDD 制造商通常使用这种 base10/base2 技巧并以千兆字节 (GB) 或太字节 (TB) 为单位报告光盘大小。当您检查文件系统中的 HDD 大小时,您会看到完全相同的大小“减少”。例如,5TB 实际上是 4.5 tebibytes TiB。但文件系统会显示 4.5 TB。