PHP前端开发

1M文本文件在磁盘和内存中究竟占多大空间?

百变鹏仔 3天前 #PHP
文章标签 多大

磁盘和内存中的文本文件空间占用

问题:

一个大小为 1M 的文本文件在磁盘和内存中占用多少空间?

回答:

磁盘空间占用:

磁盘中,文件的大小是实际存储大小,即 1M。

内存空间占用:

读入文件到内存后,内存占用大小取决于:

因此,在内存中,文件占用的空间肯定会大于 1M。

编码影响:

如果编码方式不同,文件在内存中的占用空间也会不同。例如,以 UTF-8 编码的 1M 文件在转为 GBK 或 UTF-16 编码后,文件本身的大小可能会小于 1M。这是因为不同的编码方式使用不同的字节数来表示同一个字符。下表显示了在不同编码方式下相同文件的字节数差异:

编码方式字节数
UTF-8172
GBK115
UTF-16118

这意味着,如果以 GBK 或 UTF-16 编码读入文件,文本本身所占内存大小将小于 1M。