问题标签 [xz]
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.
archive - .xz 文件格式说明是否说明了一切?
我一直在阅读 xz 文件格式的描述(http://tukaani.org/xz/xz-file-format.txt)。但是当我尝试使用二进制编辑器查看 xz 文件时,它似乎不遵循描述中定义的结构。我错过了什么?
我在 linux(xz 版本 4.999.9beta)中使用 xz cli 实用程序压缩了描述文件(xz-file-format.txt),这些是我得到的前 32 个字节:
文件的整体结构应该是:流-流填充-流-等等。在这种情况下,我认为应该只有一个流,因为文件中只有一个压缩文件。流的结构是:流头 - 块 - 块 - ... - 块 - 索引 - 流尾。并且流标头的结构是:标头魔术字节-流标志-CRC码。
我可以从我的文件中找到流标头,但是在前 16 个字节之后,它似乎不再遵循描述。
上面的前六个字节显然是魔术字节。接下来的两个字节是流标志。流标志表明正在使用 CRC64,因此 CRC 代码占用接下来的 8 个字节。第十七个字节(我从一个开始数)应该是第一个块的第一个字节。
块的结构是:块头 - 压缩数据 - 块填充 - 检查。块头的结构应该是:块头大小 - 块标志 - 压缩大小 - 未压缩大小 - 过滤器标志列表 - 头部填充 - CRC。所以第十七字节应该是块头大小(我的文件中的 0x16)。这是可能的,但第十八个字节似乎有点奇怪。它应该是块标志位字段。在我的文件中它是空的 - 所以没有设置标志。甚至没有过滤器的数量,根据描述应该是1-4。
由于块标志的第 6 位和第 7 位也为零,因此文件中不应出现压缩和未压缩的大小,并且下一个字节应该是过滤器标志的列表。列表的结构是:过滤器 ID - 属性大小 - 过滤器属性。第十九个字节应该是过滤器ID。这在我的文件中为空,它不是任何官方定义的过滤器 ID。如果它是一个自定义 ID,它将占用 9 个字节,但据我了解,它不可能是描述第 1.2 节中描述的大小编码,因为根据描述:“除了多字节表示的最后一个字节之外的所有字节设置了最高(第八)位。”,但在我的文件中,第 20 个字节也是空的。
那么有什么我不明白的地方,或者文件没有按照描述进行吗?
java - 使用 XZ Java for android 获取提取百分比
我正在使用XZ Java库在 Android 上提取一个.xz
大小约为 16MB 的文件。我正在运行提取/解压缩代码AsyncTask
,因此,我想查看通过该onProgressUpdate(Integer ... values)
方法提取的百分比。
我的解压代码看起来像这样。
该progress
变量实际上应该保存百分比值。如果有人使用过这个库,并且如果你想出了一个简单的方法来计算进度百分比,请在这里帮助我。
在此先感谢您的帮助。
go - 是否可以在 golang 中提取 tar.xz 包?
是否可以在 golang 中提取 tar.xz 包?我的理解是可以将库用于 tar 并将其发送到 xz go 库。
bash - XZ 页眉和页脚
我有一个损坏的存档 XZ 压缩并尝试使用 hexdump 未成功提取一些文件:
然后我做了同样的事情来找到页脚:
然后我使用 dd 转储页眉和页脚之间的字节
(页眉在偏移量 329872480 处跳过,页脚在 5710 位之后,即附近的那些)
我在不同的 hoffset 尝试了几次,并使用 unarchiver.app (我在 OSX 上)并查看它的临时文件,我可以在里面的文档中读取,但无论如何 unarchiver 和 unxz 告诉我存档(新存档用 dd 倾倒)不完整....关于我做错了什么有什么建议吗?
makefile - 在这个makefile中,为什么总是重新制作目标“bunzip2/data2.tar”的先决条件?
尽管先决条件是最新的,但我有一个总是重新运行规则的 make 文件:
任何想法表示赞赏。
tar - 从 xz 文件中提取文件
我有一个巨大的文件file.tar.xz
,其中包含许多具有相似结构的较小文本文件。我想从压缩文件中快速检查一个文件并了解文件内容结构。我没有关于压缩文件中文件名称的信息。鉴于上述情况,是否有提取单个文件的方法?
谢谢你。
编辑:我不想tar -xvf file.tar.xz
。
string - 为什么可以压缩 pi 的文本表示?
随机字符串应该是不可压缩的。
随机的十六进制字符串也会被显着压缩。但是,随机字节字符串不会被压缩。
pi 的字符串只包含字节 48 到 57。在整数上加上前缀代码,这个字符串可以被高度压缩。本质上,我通过以字节表示我的 9 个不同字符(或 16 个,在十六进制字符串的情况下)来浪费空间。这是怎么回事?
有人可以向我解释基本方法是什么,或者指出一些来源吗?
hadoop - 在 Apache pig 中读取压缩 (.xz) 文件
我正在尝试 使用 pig 脚本读取使用hadoop-xz编解码器压缩的 .xz 文件。
我尝试的示例代码是,
结果仍然是压缩格式。我做错了还是我必须XZInputStream
在猪里面使用?
运行环境为 HortonWorks Sandbox 2.2 (Hue)
java - 在 Java 中使用 xz 压缩时如何获得均匀压缩?
我正在Java中尝试xz压缩。使用xz 1.5压缩库、commons io 2.4库和commons compress 1.8.1库。我试图运行下面的代码,这给了我非常不一致的结果。超过 70% 的文本,低于 0.1% 的音频和视频文件(1-压缩/原始 * 100)。我在每次压缩之前都在制作一个 tarball。这应该只适用于文本文件吗?
javascript - 在 Web 浏览器中使用 javascript 将文件压缩到 tar.xz 存档中
我需要在 Web 浏览器中使用 javascript 将文件压缩到 tar.xz 存档中。有没有可行的图书馆来做这项工作?也就是说,我需要用于 TAR 和 XZ (LZMA2) 压缩的库。但我只找到了https://github.com/nmrugg/LZMA-JS/和 zip 压缩(http://gildas-lormeau.github.io/zip.js/),而不是 xz 和 tar。
编辑 XZ 纯 js 库在这里: https ://blog.slava.online/xz-archiver-webworker-for-browser-pure-js/