问题标签 [lzw]

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 投票
1 回答
265 浏览

javascript - Javascript - Alternative to lzw compression for Database entry

I have strings (about 1-5Kb) of the form:

FF,A3V,X7Y,aA4,....

lzw compresses these really nicely, but includes Turkish characters. These are then submitted to a MySQL database.

Sometimes MySQL can 'play-up' and not submit these properly, putting question marks '?' in place of the Turkish characters. They can do this even when you have your text areas properly defined. Exporting and reimporting the table can sort this out. This is fine for my test database, but not something I am happy with when this goes live.

Consequently I am looking for an alternative to lzw, which will compress but only using normal letters/numbers etc.

Does anyone know of a PUBLIC DOMAIN compression method that avoid Turkish Characters (and any other non-standard characters)? Can anyone point me to some code in javascript (or c++ or c# which I can convert)?

0 投票
1 回答
327 浏览

python - LZ 77、78 心电图压缩算法

我有兴趣实现 LZ 算法来压缩 ECG 信号,并希望优化与微控制器相关的代码。

这样它的熵效率就会降低,压缩和解压缩心电信号所需的时间也更少。我完全不知道我是如何实现这一目标的。我对任何编程语言都持开放态度。

我在网上搜索了源代码,发现代码很长,很难在​​短时间内理解。

有什么建议...?

0 投票
0 回答
1580 浏览

php - 在 PHP 中解压 LZString

我在我的 JavaScript 中使用 LZString 来压缩一些 JSON 数据,然后将其发布到我的 PHP 程序中。(http://pieroxy.net/blog/pages/lz-string/index.html

我有一个二进制代码,所以我想在 PHP 中解压缩,我LZString.php从这个存储库中使用:https ://github.com/nullpunkt/lz-string-php/blob/master/src/LZString.php

当我使用compress()方法时我会得到一个错误,但是当我使用decompressFromBase64()方法时没有任何错误但是这个函数返回空字符串!

如何在 php 中解压缩 LZString?

我的数据和这张照片一样: 在此处输入图像描述

0 投票
1 回答
1420 浏览

compression - LZ4 压缩文本大于未压缩文本

我读过 lz4 算法非常快并且具有很好的压缩效果。但是在我的测试应用程序中,压缩文本大于源文本。问题是什么?

我也试过 LZ4_compress,但结果是一样的。但是,如果我生成具有相同符号的字符串或使用两个不同的符号,则存在压缩。

0 投票
1 回答
4166 浏览

java - LZW压缩算法实现

我一直在阅读基于字典的压缩算法,包括 LZW 和 LZSS。然后,我想用 Java 实现 LZW 并开始研究它。我不是开发人员,所以我怀疑我的实现可能效率不高。你能看一下代码并告诉我在我的实现中有什么错误或效率低下吗?这是完整的代码。

0 投票
2 回答
1808 浏览

algorithm - smaz 压缩库是如何工作的?

我目前正在为一个基于我的语言的短文本压缩项目工作。但是作为一个初学者,我也知道一些基本的压缩算法,比如 LZW。但我仍然不明白smaz是如何工作的。我有两个问题:

  1. smaz 是如何工作的?
  2. 如何构建码本和逆码本?

任何人都可以为我解释一下吗?

非常感谢。

0 投票
0 回答
1086 浏览

python - 使用 Pillow 将 LZW TIFF 转换为 JPG - Python 2.7

我正在尝试为我的 TIFF 数据库创建结构化的 JPG 预览,但集合中的大多数文件都是 LZW 压缩的。我正在使用此代码打开 TIFF 文件

使用未压缩的样本完全可以,但是使用 LZW TIFF 代码返回错误:

我在 Windows 7 中使用 Python 2.7

我已经做了什么:

是否有可能仍然不支持这种压缩?或者我如何检查 PILLOW 是否找到了 LIBTIFF 库并且它真的有效?

也许TIFF文件还有另一个问题?

也许任何其他建议没有我如何使用 Python 将 LZW TIFF 转换为 JPG 预览?

https://dl.dropboxusercontent.com/u/24531139/TIFF%20-%20LZW%20-%20sample.tif - 我的 tiff 文件

0 投票
0 回答
4228 浏览

python - python中的一个LZW压缩和解压

我正在python (2.7) 中做基本Lempel-Ziv压缩的变体。情况是,这个算法通常会输出一个由字符和整数组成的列表,最后一个指定字典中每个新字符串的顺序。

现在,假设我们压缩了一个足够大的文件,因此会出现高达 400000 或更多的整数,所以我正在做的是将这些整数中的每一个传递给二进制文件,将二进制文件分解为最多 8 位字节(例如 400000 的二进制形式是一个 1 和 0 的大约 18 位或 19 位的字符串,因此它可以分解为 2 个 8 位字节和一个 2 位或 3 位字节),这样每个 6 -character 整数将减少到 3 个字符。细绳。请注意,即使是 3 位整数也会减少到 2 字符。字符串,这样LZW算法得到的列表更紧凑。

发生的情况是,我能够正确地使用代码压缩文件(从 2.2 Mb 到 1.5 Mb),或者我认为是这样,但是当我解压缩它时,我没有获得完全相同的初始文本。

这是我的压缩代码:

好的,所以所有这一切的棘手部分是,当我将压缩代码写入文件时,为了保持它的“列表”格式,我用空格分隔列表的每个组件,因此我m 节省逗号(传统列表类似于 ['A', 'B, 'C', ...])。因此,我定义了一个列表 -危险- 其中包含可能使这种“幻像列表”格式消失的有问题的字符,例如空格、空值、制表符等。当其中一个出现时,我保持它是整数通过在前面放置相同的字符来引用字典(我选择它是222- 对应的 ASCII,虽然它可能是另一个),它也包含在“危险”列表中。这样,在解压过程中,当这个字符出现时,代码自动知道他后面的序列必须直接保存为字典的参考,而不是再解码为二进制和混淆。

这是我的解压代码:

我看不出我在这里缺少什么(实际上我是 python 的新手),或者我是否应该考虑在危险列表中添加另一个有问题的字符以避免与“列表”发生某种冲突"格式化。或者我可以使用另一种方式将这个列表以紧凑的形式写入输出文件,而不会丢失它的格式。

非常感谢任何形式的帮助!

0 投票
1 回答
277 浏览

c# - 解压缩动画 GIF 光栅数据

抱歉,我试图提供尽可能多的信息,并且我已尽力将所有内容格式化为尽可能易于阅读。我一直在尝试在 C# 中解压缩 GIF,并且似乎除了 LZW 解压缩之外的所有内容都已关闭。我正在从 URL 中读取 Gif。对于这个例子,我将使用 这个动画 GIF。我知道有 35 帧,但我只想看第一个。

下面是全局颜色表,我有点困惑,因为它填充了 123/128 色,其余的是 000000,我在填充代码表时是否会抹黑这个?

抱歉这里的格式,仅针对有关 000000s 的问题显示

图形控制扩展

图像描述符

最后我对图像数据感到困惑

对于所有密集的目的我们应该需要查看前几个二进制位

我的主要问题是在阅读这些代码时如何使用 LSB 打包顺序,其次考虑到背景是透明的,这对每个像素有何意义,例如如何获取第一个非透明像素的索引。最后,我在什么时候将向表中添加代码的代码大小增加到 LZW 最小代码大小 +1(8)。谢谢你的任何建议。

0 投票
0 回答
1480 浏览

java - 用于音频压缩的 JAVA LZW

我正在开发一个使用 LZW 压缩来压缩 WAV 文件的项目。

我找到了这段代码并试图修改它来处理 wav 文件,

但是,有两件事变得一团糟:

  1. 媒体播放器无法再播放压缩音频文件。

  2. 我使用的下面的代码,它完美地适用于文本文件。但在 Wav 文件上失败。

非常感谢您的帮助。(PS 下面的代码来自 https://code.google.com/p/lzwj/source/browse/src/main/java/by/dev/madhead/lzwj/compress/LZW.java?r=c834a12adea60b0a5d9c3fa3a9d7900c26e5df80