问题标签 [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 回答
715 浏览

c# - 在 C# 中压缩字符串并在 Actionscript 中解压缩

我是编程新手(主要使用 ASP.Net),并且已经尝试在 C# 中压缩字符串并在 ActionScript 中解压缩它已经有一段时间了。

我在 Zlib 上取得了成功,但需要使用不同的压缩算法来实现相同的另一个实现。

我在 C# 中使用此代码尝试了 Gzip:http: //madskristensen.net/post/Compress-and-decompress-strings-in-C.aspx 我得到了显示在标签中的输出以复制它并将其粘贴到 actionscript 中使用http://probertson.com/projects/gzipencoder/

我首先使用base64库将输入字符串转换为字节数组:http://garry-lachman.com/2010/04/21/base64-encoding-class-in-actionscript-3/,然后将其传递给gzip编码器.

但是我收到一个错误,它说输入不是 gzip 格式。

我也在尝试使用 LZW 压缩,但在 C# 中的 LZW 中压缩没有成功。所以没有在 ActionScript 中尝试过 LZW 解压。

所以....我坚持:我需要在 C# 中压缩一个字符串,并使用 ZLib 以外的压缩方法在 ActionScript 中解压缩它。...请指导。

0 投票
3 回答
4114 浏览

c# - 来自字符串的 C# 上的 LZW 压缩

我正在寻找 C# 中的 LZW 压缩算法,它接受一个“字符串”并返回一个字符串。我已经用谷歌搜索了几个小时,我发现所有的东西都使用 MemoryStream、BinaryWriters 等。

我只想能够做类似的事情:

string _data = "12345";

string _result = CompressToLZW(_data);

然后通过 Ajax 将该字符串传递给浏览器。我已经有了 javascript 的 LZW 解压算法 (http://rosettacode.org/wiki/LZW_compression#JavaScript)

谢谢。-

更新:

这是我现在使用的代码http://paste.lisp.org/display/12198

更新 2 我在 C# 中找到了可以在http://code.google.com/p/sharp-lzw/source/browse/ 处工作的源代码。

0 投票
1 回答
18533 浏览

python - python中的基本lzw压缩帮助

我只是想写一个非常基本的脚本,它将接受一些输入文本并使用 lzw 压缩它,使用这个包:http ://packages.python.org/lzw/

我以前从未尝试过使用 python 进行任何编码,并且非常困惑 =( - 除了包信息之外,我也找不到任何关于它的在线文档。

这是我所拥有的:

任何帮助或任何类型的指针将不胜感激!

谢谢 =)

0 投票
1 回答
1361 浏览

javascript - JavaScript 中 GIF 图像的 LZW 位打包

我正在开发一个可以生成动画 GIF 图像的 JavaScript 应用程序。GIF 图像使用 LZW 压缩算法,因此我需要在 JavaScript 中实现它。

到目前为止,我已经得到了可以将字符串(二进制或非二进制)压缩为整数数组,然后解压缩的代码。请参阅 pastebin 链接以获取完整代码(如果您认为有必要),但这是我运行此代码段的内容,它应该证明压缩和解压缩本身可以正常工作:

现在的问题是我不知道如何进行二进制打包。如果我正确理解 LZW 算法,则只有第一个位模式compressed可以整齐地适合 8 位边界,其余的需要位于 9 位边界上。

我浏览了维基百科关于 Lempel-Ziv-Welch 的文章,似乎对于 GIF 图像数据,我总是将压缩模式的最低有效位与一个字节的最低有效位对齐;但我试过了,我的 GIF 不工作,而且 GIF 解析器对失败不是很明确,所以我不确定是因为压缩还是其他原因。对我来说,这看起来也是一种巨大的浪费,所以它只会让这种方法更加可疑。

谁能指出我正确的方向?

0 投票
4 回答
229 浏览

c - 文件压缩和代码

我正在实现一个版本的 lzw。假设我从 10 位代码开始,并在我最大限度地使用代码时增加。例如,在 1024 代码之后,我需要 11 位来表示 1025。问题在于表示移位。

如何告诉 decode 我更改了代码大小?我考虑过使用 00,但程序无法区分 00 作为增量和 00 只是代码零的两个实例。

有什么建议么?

0 投票
1 回答
142 浏览

c - 输入/输出 lzw 问题

伙计们,

我需要你的帮助。我正在用 C 语言编写一个 lzw 压缩器,但在编码和解码方面遇到了麻烦。这是我到目前为止所拥有的:

它似乎总是跳过最后一个代码。当我 GDB 时,我看到 C 得到 258 之后,它得到 EOF (-1),我不知道为什么最后一个代码被跳过了。有小费吗?

0 投票
1 回答
194 浏览

python - 在 LZW 中压缩时计数?

注意:这不是 LZW 压缩的正确用途。我只是在玩弄它。

问题

在一次通过中,是否也可以更新字典中元素的频率计数?

我的实现

输出

我想FreqTable用它找到的任何模式的频率计数来填充。出于明显的原因,我没有把我的方法放在这里——它不起作用,而且它给了我错误的计数。关于这是否可能的任何建议都会很棒。

0 投票
1 回答
251 浏览

c# - 从(JPEGTIFF 到 LZW)到(JPEGTIFF 到 JPEG)的切换是否会丢失质量?

我构建了一个处理大量扫描图像的应用程序。这些图像是使用 JPEGTIFF 文件导入的。我将 TIFF 文件拆分为单页 LZWTIFF 文件,因为该应用程序无法处理 JPEGTIFF 文件。LZW 文件比原始 JPEGTIFF 文件大得多,而且加载速度非常慢。我想知道是否应该切换到使用单页 JPEG 文件而不是 LZW 文件。我有点害怕这样做,因为 JPEG 是有损压缩,而 LZW 不是。但我不确定从 JPEGTIFF 到 LZWTIFF 是否能获得任何质量。所以我的问题是我是否会失去质量切换到JPEG而不是LZWTIFF?

0 投票
2 回答
15616 浏览

zip - 标准 ZIP 中使用哪种算法?

我已经用谷歌搜索、维基搜索并阅读了 ZIP 的 RFC,但找不到有关 ZIP 中使用的确切算法的任何信息。

我找到了有关 ZIP == TAR + GZIP 的信息

但是,我对这个信息感到困惑。

由于我记得 GZIP 使用 LZW 算法,而 TAR 使用 LZMA,我无法想象 ZIP == TAR + GZIP (LZMA + LZW - ???)

你能帮我找到 ZIP 的算法吗?我想实现它。

0 投票
1 回答
1640 浏览

java - LZW 压缩 - 修改版

我有一个 LZW 算法 -

wheremaxNumBits应该是 trie 的最大大小。maxNumBits假设异常在传递参数的主类中被捕获。假设dict是 a HashMapreader是 aFileInputStream并且fos是 a FileOutputStream

在我的版本中,如果 trie 变满(即trieLength > maxNumBits),则继续压缩,直到当前压缩率(currentCr)小于上一个压缩率(lastCr)。

我已经在一个 ~8mb 文件上运行了它,并且更改 trie 长度对累积压缩率没有任何影响。这是代码吗

是否符合所描述的要求?

谢谢你的帮助,

山姆

编辑 - 感谢您在格式化方面的帮助,爱德华