1M 文本文件在磁盘和内存中的空间占用
当我们有一份未压缩文本文件 a.txt,大小为 1M(磁盘存储大小)时,将其读入内存后,它所占用的内存空间大小取决于以下因素:
编码相同的情况下:
- 文本本身的大小(1M)
- 保存文本的对象所占用的空间
- 读入文本的运行对象所占用的空间
因此,在编码相同的情况下,读入内存后的空间占用肯定会大于 1M。
编码不同时:
例如,如果 a.txt 文件以 UTF-8 编码,字节大小为 172 字节。如果将其转换成 GBK 和 UTF-16 编码:
- GBK 编码:字节大小为 115 字节
- UTF-16 编码:字节大小为 118 字节
这表明,如果以 GBK 或 UTF-16 编码读取文件,则文本本身所占用的内存空间将小于 1M。
以上就是1M文本文件:磁盘空间与内存空间占用有何区别?的详细内容,更多请关注php中文网其它相关文章!