问题标签 [lz4]

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 投票
0 回答
38 浏览

lz4 - 如何使用 Lz4 实用程序生成未压缩数据(通过将块大小 [31] 设置为 1)

我知道 Yann Collet 的 lz4 实用程序总是生成块大小位 31 设置为 0 的压缩数据。有没有办法生成相同的未压缩数据。

0 投票
1 回答
641 浏览

compression - Swift Compression:不解压缩 LZ4 图像

我正在尝试使用 Swift Compression 包解压缩 lz4 压缩的 png 图像,但代码以零大小退出。我的代码如下,解压后的文件预计为240Kb。

[更新 2] 我在 Apple 的文档中偶然发现了这一点:

此处记录了该帧,以便您可以轻松包装另一个 LZ4 编码器/解码器,以便在必要时生成/使用相同的数据流。LZ4 编码缓冲区是一个块序列,每个块都以一个标头开头。有三个可能的标题:

压缩的块头由八位字节 0x62、0x76、0x34 和 0x31 组成,后面是块所表示的解码(明文)数据的大小(以字节为单位)和存储在块中的编码数据的大小(以字节为单位)。两个大小字段都存储为(可能未对齐)32 位 little-endian 值。压缩块头之后紧跟实际的 LZ4 编码数据流。

流标头的结尾由八位字节 0x62、0x76、0x34 和 0x24 组成,并标记 LZ4 帧的结尾。不能在此标头之外写入或读取更多数据。

所以我相应地添加了页眉和页脚,它可以工作。但是——总是有一个“但是”——,我怎么能在解压缩之前知道“解码(明文)数据的字节大小”?

[更新 1]

我给你一个 LZ4 文件供你测试,以及从主包中解压它的代码用法。

使用 sw 压缩的 LZ4 文件“LZ4 命令行界面 64 位 v1.8.0,由 Yann Collet 提供”在 Internet 上广泛可用

https://drive.google.com/file/d/1eQ204LJs_xsHRwJ_jUcl1Up9NFo8monO/view?usp=sharing

LZ4解压用法

LZ4 解压数据扩展码:

0 投票
1 回答
802 浏览

java - 在 Jetty 中使用系统类加载器加载外部 jar

我正在使用 Jetty(8 和 9)以及LZ4 压缩,我想使用 LZ4 的本机实现,它是与 C 库的本机绑定。为此,应使用系统类加载器加载 LZ4 类。

所以我的问题是,如何使用 Jetty 中的系统类加载器加载外部 jar。

将 lib 放入 $jetty.home/lib/ext 并没有帮助,因为它是使用扩展类加载器而不是系统加载器加载的。

0 投票
2 回答
1550 浏览

c# - 使用 Lz4net 编码和解码字节数组

这是使用字节数组Encode的正确方法吗?DecodeLz4net

decodedfileData返回 0 个字节

我已经浏览了LZ4 github,但我不知道出了什么问题。那么使用字节数组Encode的正确方法是什么?DecodeLZ4

0 投票
0 回答
140 浏览

apache-kafka - filebeat kafka 输出 lz4 压缩问题

我正在尝试使用 lz4 压缩设置带有 kafka 输出的 filebeat (6.2),但总是出现错误

我的输出配置是:

任何关于可能出错的见解都会非常有帮助

谢谢。

0 投票
0 回答
393 浏览

ios - 如何强制iOS lib压缩到LZ4压缩在一个块中?

我想在一个块中压缩一个大小大于 64Kb 的缓冲区。

我目前使用 lib 压缩到 LZ4 压缩/解压缩,它适用于低于 64Kb 的缓冲区。假设我从块中剥离了 Apple extras 标头,因为 Apple 添加了文档中描述的额外字节,说明:该帧记录在此处,以便您可以轻松地包装另一个 LZ4 编码器/解码器以在必要时生成/使用相同的数据流。LZ4 编码缓冲区是一个块序列,每个块都以一个标头开头。有三个可能的标题:

不幸的是,由于我没有找到一种仅在一个块中强制压缩的方法(有可能吗?常规的 LZ4 压缩器提供了一个 maxBlockSize 来解决这个问题),它会生成多个块(对于 64Kb 的 maxBlockSize)。如果我剥离所有标题,几乎不可能解压缩,不知道块之间的边界在哪里。

最后,我的问题是:——是否可以强制压缩器只生成一个块?

我在一个块的情况下剥离额外内容的扩展:

0 投票
2 回答
434 浏览

java - lz4拆分限制是什么?

这个问题说明lz4压缩格式是可拆分的,适合在hdfs中使用。好的,我已将 1.5 Gb 数据压缩到 300 Mb lz4 文件中。如果我尝试通过 spark 读取此文件 - 它可以创建的最大工人数是多少以并行读取文件?可拆分部分是否取决于 lz4 压缩级别?

0 投票
0 回答
2135 浏览

c++ - 使用 LZ4 压缩/解压缩

当我用 LZ4 压缩/解压缩时,它给了我一些与原始字符串无关的东西。

例如“1234”是好的,但不能用一个句子。

这是更正的代码,感谢您的回答

0 投票
0 回答
502 浏览

python - 无法在python中解压缩lz4字节

结果的输出:

错误是:

0 投票
1 回答
234 浏览

c# - 引用 LZ4Net 的 PCL 项目在构建时遇到 FileNotFound 错误,正在寻找 LZ4cc

我在构建 Xamarin Forms 项目时遇到了这个错误。我在 PCL 中添加了 lz4net,之后我开始收到此错误。当我尝试使用 ILMerge 将 dll 合并为一个时,我也遇到了这个错误。任何帮助将不胜感激。

我做过的事情

  1. 刷新引用
  2. 删除 bin\debug 和 packages 的内容并恢复包
  3. 更新了安卓sdk

    加载程序集时出现错误异常:System.IO.FileNotFoundException:无法加载程序集“LZ4cc,版本=1.0.15.93,文化=中性,PublicKeyToken=62e1b5ec1eec9bdd”。也许它在 Mono for Android 配置文件中不存在?文件名:Java.Interop.Tools.Cecil.DirectoryAssemblyResolver.Resolve 中的“LZ4cc.dll”(AssemblyNameReference 参考,ReaderParameters 参数)在 Xamarin.Android.Tasks.ResolveAssemblies.AddAssemblyReferences(ICollection1 assemblies, AssemblyDefinition assembly, Boolean topLevel) at Xamarin.Android.Tasks.ResolveAssemblies.AddAssemblyReferences(ICollectionXamarin.Android.Tasks.ResolveAssemblies.AddAssemblyReferences(ICollection`1 程序集,AssemblyDefinition 程序集,Boolean topLevel)在 Xamarin.Android.Tasks.ResolveAssemblies.Execute() PRide.AndroidApp C:\Program文件 (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets 1410