问题标签 [data-compression]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
4286 浏览

java - GZIPOutputStream 未正确压缩 HTTP 响应的字符串

我正在编写一个简单的 Java http 服务器来响应 JSON 数据。我正在尝试在发送数据之前对数据进行 GZip,但它通常会发回 gzip 后的数据,从而在浏览器中产生错误。例如,在 Firefox 中它说:

内容编码错误 您尝试查看的页面无法显示,因为它使用了无效或不受支持的压缩形式。

有时,如果我正在压缩的字符串很小而没有某些字符,它会起作用,但是当有括号等时它似乎会混乱。特别是,我下面的示例文本失败了。

这是某种字符编码问题吗?我已经尝试了各种各样的东西,但它就是不想轻易工作。

0 投票
2 回答
8836 浏览

python - 使用python进行大文件压缩

我想用 python 压缩大文本文件(我说的是 >20Gb 文件)。我不是任何专家,所以我试图收集我发现的信息,以下似乎有效:

我想知道这种语法是否正确,是否有办法优化它?我的印象是我在这里遗漏了一些东西。

非常感谢。

0 投票
1 回答
4083 浏览

c - 如何在 C 程序中使用 libbz2 库压缩内存缓冲区中的数据

我尝试在 C 程序中使用 libbz2 库来压缩内存数据。

我应该使用libbz2的这个功能吗?:

谁能给我一个例子?

谢谢你。

0 投票
3 回答
634 浏览

data-structures - 压缩相似但不相同的字符串列表的最佳方法是什么?

说,我有许多非常相似但不完全相同的字符串。

它们可能或多或少不同,但肉眼可以看出相似之处。

所有长度都是相等的,每个都是 256 字节。字符串总数小于 2^16。

这种情况下最好的压缩方法是什么?

更新(数据格式):

我无法分享数据,但我可以将其描述得非常接近现实:

想象一下符号(如LOGO语言),它是某些设备在平面上移动和绘图的命令序列。如:

等等。

这种语言的全部词汇量不超过英文字母的大小。

然后该字符串描述了一个完整的画面:“U12C6P1L74D74R74U74P0....”。

现在想象一下,一万名儿童被告知在这种语言的帮助下画出一些非常具体的图像:比如他们国家的国旗。我们将同时获得 10K 个不同且相似的字符串。

我们的任务是尽可能好地压缩整个字符串。

我的怀疑是,有一种方法可以利用字符串的这种相似性和共同长度,而 Huffman 例如不会明确使用它。

0 投票
4 回答
2825 浏览

algorithm - 基于重复、基于模式的数据压缩算法

假设我有以下字符串:

我想通过查找重复的子字符串来压缩它。什么是提供最佳压缩的算法?

在上面的例子中它应该返回

为了比较,贪心算法可能会返回

0 投票
1 回答
820 浏览

algorithm - 有限精度算术编码解码过程?

我一直在阅读算术编码,特别是如何处理有限精度,例如,当范围在区间 (0, 0.5) 或 (0.5, 1) 内时,可以分别输出 0 或 1 ,然后将范围加倍。我不明白的是,如果采用此过程,如何解码生成的代码?

0 投票
1 回答
1383 浏览

mysql - Java 需要 mysql 兼容的 compress()/decompress()

我正在考虑将 MySql compress() 函数应用于一个 varchar 字段,并且每列往往从几千个字符运行到超过一百万个字符。文本几乎是普通的英语,所以我得到了 8 比 1 或更好的压缩。由于我有数百万条记录并且很少想要实际查看数据,因此压缩似乎是一个很好的工程权衡。

我需要在 Java 中进行大部分处理,并且 zip、gzip 和 bzip2 有很好的实现。所以这很酷。

但我真的很想能够使用标准的 MySql 客户端进行查询,例如

选择解压缩(长列)其中...

所以我希望我的 java 代码使用与内置函数相同或兼容的压缩算法。我找到的文档说“使用 zlib 等压缩库编译”

这有点模糊,我怎么能确切地知道该使用什么?

===编辑==要清楚,我希望能够使用“mysql”客户端程序进行调试,所以像:

选择解压缩(长列)其中...

根本不使用Java。但我想使用 JDBC 进行更新和插入。而主线使用,得先拿到压缩博客,然后解压。某种包装器或 ZipInputStream 很好。

0 投票
1 回答
3576 浏览

microcontroller - 微控制器的数据压缩

我正在用 PIC 微控制器做一个项目。我有一个 ADC 采样并将数据保存到 RAM 存储器,一旦 RAM 被填满,我需要使用 PIC 微控制器通过蓝牙发送它。

我的数据非常冗余,我有大约 10-20 个连续字节,它们是相同的值,然后它会发生变化,并且对于大约 10-20 个连续字节仍然相同。

我想压缩大约 512Kbytes 的数据以通过蓝牙更快地发送,512Kbytes 的数据通过蓝牙以 2Mbps 传输大约需要 2 秒。解压速度很快,因为数据传输到双核 ARM 平台,所以没有问题。

对于 PIC24 或 dsPIC 等 PIC 微控制器,是否有任何算法可以相对快速地压缩数据,速度约为 40MIPS?

0 投票
1 回答
155 浏览

database-backups - 数据库备份、删除事务日志、收缩、删除非聚集索引、重建表填充因子 100%、压缩

首先让我说我是一名开发人员,我只是在进行数据库备份以进行错误测试/修复。

我想获得我正在删除的备份的大小,因为目前将备份发布给我会比通过 Intranet 传输它们更快,并且在我的开发系统上恢复任何备份后我做的第一件事就是 drop无论如何都要缩小事务日志。

有没有办法使用 SQL Server Managment Studio 2005 进行不包括事务日志或非聚集索引表的备份,并且可以重建备份中的表,使其填充因子为 100%,然后压缩备份文件?

或者至少有一种方法可以进行不包含事务日志的备份?

0 投票
3 回答
1454 浏览

c# - 是否有执行数据压缩和加密的明确顺序

我有一个要求,说明应该执行数据压缩和加密。

但是,我怀疑应该首先执行哪个步骤以优化压缩率和执行时间。如何选择首先执行哪个步骤以及要使用的压缩和加密方法?