在没有Node.js的javascript中使用lz4压缩
我正在尝试让LZ4解压缩在纯JavaScript中工作在客户端。
我find了这个JavaScript库,但它的目的是与Node.js一起使用。 在同一个版本库中,我发现了一个理论上可以在浏览器中使用的库 。 问题是,这样的库期待仍然Node.js缓冲区,我再也没有,因为我没有使用Node.js,所有这一切都发生在客户端(我logging了一个错误在这里试图获得一些指针如何使用它)。
然后我寻找一个Node.js缓冲区的移植,我发现这个库 。 问题是,当我使用它,我得到这个错误在Chrome和Firefox:
TypeError: this is not a typed array
我为此logging了这个错误报告。 我觉得把这两个库合并起来,我不是很难在纯JavaScript中实现lz4解压缩,但是从来没有用过ArrayBuffer,Uint8Array和Node.js,我正在努力把这些点连接起来。
我的问题:有没有人成功地设法解压纯JavaScript的LZ4? 任何build议或指针? 提前致谢。
我会提供一个IDEA而不是一个解决scheme,你可以试试这个仓库
https://code.google.com/p/lz4/
它有一个纯粹的C实现LZ4
你可以用clang编译成llvm位码
当你有这个,你使用这个https://github.com/kripken/emscripten
将JavaScript从llvm位代码中取出
它像C到JavaScript编译,它可能听起来很疯狂,但如果你看看他们已经取得了什么…我不知道它可以实际工作。
看看这里他们移植了很多东西到JavaScript的这个工具,例如这个: https : //github.com/kripken/lzma.js