我在 MSSQL 中有一個包含壓縮和轉換檔案的資料庫,如下所示:

但是,在那個奇怪的可疑大小的畫布中,輸出只有 4 像素高,如果它只是更長的截斷流的第一部分,這可能是正確的。如此窄帶的顏色范圍無助于確定主題,但在右側似乎有明顯的接近白色的邊緣,但在頂部或左側邊緣卻沒有?
您的 40K 塊轉換為具有 PNG 特征的大約 20K 二進制檔案,但 PNG 以 89 開頭,因此您遇到了問題,因為它的前綴為 0x 00 22 40 DD BF(十進制 = 574676415 因此對于擴展的 PNG 記憶體要求來說太大了估計為 5,420,860 位元組)
我們可以丟棄 0x 作為 Hex 流的簽名,并像我上面所做的那樣使用余數,但是 Odd 00 22 40 DD BF 的意義是什么(很可能部分包含型別或最終全長大小的指示符和或指向下一個塊的指標)
您需要做的是通過常規方法提取該影像并比較預期的總檔案大小,因為轉換為 20 KB 二進制檔案僅相當于預期總數的 0.5%。在這種情況下,您需要確定影像其余部分的存盤方式和位置,以便將所有(200 個?)部分連接成一個同質 blob,即單個影像。
您需要了解塊被緩慢提取并緩慢轉換并緩慢拼接在一起的方法,但使用一些預期檔案大小的度量。
uj5u.com熱心網友回復:
資料是十六進制編碼的,試試:
from base64 import b16decode
# Data
encoded = '0x48656C6C6F'
decoded = b16decode(encoded[2:])
print(decoded)
輸出 b'Hello'
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/416825.html
標籤:
下一篇:讀取檔案并在C中列印內容
