11

我正在尝试让 LZ4 解压缩以在纯 JavaScript 中工作客户端。

我找到了这个JavaScript 库,但它打算与 Node.js 一起使用。在同一个存储库中,我发现了一个理论上可以在浏览器中使用的库。问题是这样的库仍然需要 Node.js 缓冲区,因为我没有使用 Node.js 并且所有这些都发生在客户端(我在这里记录了一个错误以尝试获取一些如何使用它的指针)。

然后我寻找 Node.js 缓冲区的移植,并找到了这个存储库。问题是当我使用它时,我在 Chrome 和 Firefox 中都遇到了这个错误:

TypeError: this is not a typed array

我为此记录了这个错误报告。我觉得将这两个库结合起来我离在纯 JavaScript 中实现 lz4 解压不远了,但以前从未使用过 ArrayBuffer、Uint8Array 和 Node.js,我正在努力连接这些点。

我的问题:有没有人成功地用纯 JavaScript 解压 LZ4?有什么建议或指示吗?提前致谢。

4

1 回答 1

7

我将提供一个 IDEA 而不是解决方案,你可以试试这个存储库

https://code.google.com/p/lz4/

它有 LZ4 的纯 c 实现

您可以使用 clang 将其编译为 llvm 位码

当你拥有它时,你使用这个https://github.com/kripken/emscripten

从 llvm 位码中获取 javascript

它就像 c 到 javascript 的编译,听起来可能很疯狂,但如果你看看他们已经取得的成就......我不知道它真的可以工作。

看看这里,他们使用这个工具将很多东西移植到 javascript,例如这个:https ://github.com/kripken/lzma.js

于 2013-12-17T19:10:37.410 回答