GZIP算法平台是否独立

时间:2019-03-01 17:41:43

标签: java compression gzip

有没有一种方法可以确保一旦使用Java库压缩文件。我可以使用支持GZIP库的任何其他语言解压缩文件。 我可以看到GZIP由数据格式规范https://tools.ietf.org/html/rfc1952

支持

但是没有看到更多资源来验证GZIP的平台独立性

2 个答案:

答案 0 :(得分:1)

是的。 gzip格式完全独立于平台。

答案 1 :(得分:1)

GZIP格式与平台无关。它将格式定义为八位字节序列,并且与平台或网络硬件字节排序问题无关。您可以通过仔细阅读规格来自己确认。

任何正确实现GZIP规范 1 的工具都应处理在任何其他平台上由任何其他(符合规范的)工具创建的GZIP文件。

有两个小警告:

  1. GZIP文件可以选择编码原始(源)文件名。规范说,可选的文件名应包含ISO 8859-1字符。如果源文件名包含未映射到ISO 8859-1的字符,或者正在解码的系统无法将所有ISO 8859-1字符映射到用于文件名的字符集,则这是一个限制。

    < / li>
  2. GZIP文件可以选择包含修改时间戳记,表示为相对于“ 1970年1月1日格林尼治标准时间00:00:00”的偏移量 2 。正如规范所指出的,这在没有GMT / UTC时间的平台上可能会出现问题。例如MS-DOS。

创建和读取GZIP文件的工具应该能够解决此问题。例如,Linux发行版中标准提供的GNU gzip工具具有一个--no-name选项,该选项告诉命令不要保存或恢复原始文件名和时间戳。


1-对于不正确执行规范的工具,所有押注均无效。但是您不太可能在野外找到这样的工具。

2-规范显示的是GMT,而不是UTC。我只是引用它说的话。