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

作者站长头像
站长
· 阅读数 15

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

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

回复
1个回答
avatar
test
2024-07-17

如果编码相同

读入后,可以预见的内存占用有本身文本的大小(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
@无名
回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容