zlib

11 月 18, 2022

--

zlib 不是 zip,zlib 的不是 GZIP 編碼檔案沒有現成的工具可以處理,至少 Hoyo 沒找到可用的

幾乎所有主流程式語言都支援 Zlib 甚至是內建支援

--

PHP

Zlib 有三種編碼方式

  1. 資料流 : ZLIB_ENCODING_RAW
  2. DEFLATE : ZLIB_ENCODING_DEFLATE
  3. GZIP : ZLIB_ENCODING_GZIP

如果使用 ZLIB_ENCODING_GZIP 並且儲存成檔案,就可以用一般的壓縮/解壓縮程式開啟

PHP 環境:

資料處理

壓縮需要指定編碼

ZLIB_ENCODING_DEFLATE 編碼

ZLIB_ENCODING_GZIP

ZLIB_ENCODING_GZIP 明顯長了一些,因為有包含檔案壓縮格式,也就是將 $enc 存成檔案是可以使用壓縮軟體開啟

檔案處理

這個檔案是可以開啟的

如果使用 DEFLATE 或 RAW 就無法直接使用壓縮軟體開啟,當然如果要當成一種祕密的傳輸方式也可以這樣使用

解壓縮

--

Python

版本:Python 3.6

資料壓縮成檔案

檔案壓縮

--

相容性

將 Pyton 剛剛壓縮的檔案拿給 PHP 也是可以正常解開

--

Delphi

研究這個其實一開始就是為了 Delphi 壓縮的檔案,可是研究後才發現根本就解不開 Delphi 壓的 zlib 檔案,過了快 2 個月在看了二進制資料後發現

Delphi 壓縮

Python 壓縮

Delphi 好像就是一開始多了 00 96 00 00 00 00 00 00 這 8 個 byte,刪除之後就可以正常和其他程式相容

--

 446 total views,  4 views today

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。