为了账号安全,请及时绑定邮箱和手机立即绑定

将大量UTF8字节写入文件会导致大量膨胀

将大量UTF8字节写入文件会导致大量膨胀

C#
千万里不及你 2021-04-05 21:16:34
因此,我最近在玩耍,并尝试生成1GB的文件。StreamWriter writer = new StreamWriter(@"C:\Users\parsonsj\Desktop\data.dat");Encoding utf8enc = UTF8Encoding.UTF8;for (int i = 0; i < 1073741824; i++) {    writer.Write(utf8enc.GetBytes("#"));}writer.Close();我的想法是,由于UTF8字符为1个字节,而1GB约为1,073,741,824字节,因此,写入单个UTF8字符1,073,741,824次将导致文件大小约为1GB。我运行了我的小程序,并且按预期的那样,它开始减慢速度并消耗内存。我最终过早地杀死了它,然后去检查文件的大小,好奇我走了多远。令我震惊的是,该文件高达13GB。我不确定它有多大。也许我编码错了。也许存在某种与疯狂的内存泄漏相关的错误。我很困惑。为什么我的文件这么大?我是误解了编码还是数学?
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 158 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信