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

有一份文本文件a.txt(未压缩),大小1M(磁盘存储大小)

如果将a.txt读入内存,会占用多大内存呢?

阅读 2.9k
1 个回答

如果编码相同

读入后,可以预见的内存占用有本身文本的大小(1M)、保存文本的对象所占用的大小、读入文本的运行对象所占用的大小。

因此肯定会大于 1M。

如果编码不同

例如你的文件 test 是 utf-8,字节大小为 172。
下面是转换为 gbk 和 utf16 后的字节大小分别为 115 和 118。
也就是说,如果以 gbk 和 utf16 编码读取,文本本身所占内存的大小将会小于 1M。

-rw-r--r--  1 zxd  staff  172 10 31 13:19 test
-rw-r--r--  1 zxd  staff  115 10 31 13:20 test_gbk
-rw-r--r--  1 zxd  staff  118 10 31 13:20 test_utf16
@无名
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题