首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >最小化十进制.csv文件的文件大小

最小化十进制.csv文件的文件大小
EN

Stack Overflow用户
提问于 2019-02-04 09:17:53
回答 2查看 1.3K关注 0票数 3

我需要把尽可能多的信息放进一个小文件中。在这种情况下,数据采用逗号分隔格式,所有值都存储为2dp小数(没有标题)。

我已经看过了,我的理解是,我需要的所有字符都是使用我目前使用的标准.txt文件中的ASCII (每个字符1字节)存储的。显然,ASCII有256个可能的值,这比我需要的要多得多--我只需要16个字符就可以度过难关。

我能把我的数据保存在某种4位文本文件中吗?我将使用c#创建文件(所有谷歌搜索结果都是关于创建文本文件的建议,而不是如何制作更小的“字体”文本)。这样做最终会节省空间吗?我可以在发送之前拉链任何东西,但是任何关于降低文件大小的建议都将不胜感激。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-02-05 09:46:12

我认为这个问题是合理的,但答案是,你强加的逻辑条件没有任何解决办法的余地。

因此,如果您可以为您的自定义结构避免CSV结构,您可以保存一些东西,但是您需要它,它几乎决定了您的解决方案。剩下的唯一变量是如何对文本进行编码,但不能在8位以下对文本进行编码,您只需使用较高的值,如Unicode (16位)。

我不会评论使用压缩,因为你已经提到,你正在寻找替代答案,你知道这一点。

票数 0
EN

Stack Overflow用户

发布于 2019-02-05 09:35:20

它将被一段c#代码读取的文件

因此,您正在控制序列化格式。您可以选择任何您喜欢的格式。

节省空间和重用现有代码的一种快速方法是压缩CSV。Gzip是内置的,但它很弱。你可以使用7-Zip库。7-Zip算法是目前最先进的算法.If将消除由小数点和大部分使用字符0-9造成的冗余。它不会删除100%,但99%(?)

您可以通过使用更好的格式来提高效率。您可以使用BinaryReader/Writer轻松地编写完全自定义的东西。

协议缓冲区比较简单,而且非常紧凑。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54513060

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档