SWF 檔案格式規範

最後更新:存檔版本 19 (SWF10)

概覽

SWF (Small Web Format) 是 Flash Player 使用的二進制向量圖形格式。它的設計旨在透過網路高效傳輸並在螢幕上渲染。

檔案結構

SWF 檔案由一個標頭 (Header) 以及隨後的一系列標籤 (Tags) 組成。


+----------------+----------------+----------------+
| Header         | Tag 1          | Tag 2 ...      |
+----------------+----------------+----------------+
            

標頭格式

欄位 類型 描述
簽名 UI8[3] 'FWS' (未壓縮) 或 'CWS' (Zlib 壓縮)
版本 UI8 SWF 版本號 (例如 0x0A 代表 v10)
檔案長度 UI32 檔案總位元組大小 (未壓縮)

標籤概念

SWF 檔案中的所有數據都存儲在標籤中。標籤可以是定義標籤(定義圖形、按鈕等角色)或控制標籤(操作這些角色,例如 PlaceObject)。

struct RecordHeader {
    unsigned short TagCodeAndLength;
    if ((TagCodeAndLength & 0x3F) == 0x3F) {
        unsigned long Length;
    }
}