FictionBook 2.0 (.fb2)
FictionBook 標準FictionBook 2.0 (FB2) 是一種熱門的開放式語意 XML 電子書格式,將整本書籍的文字、排版、中繼資料和內嵌封面插圖打包至單一獨立的 XML 檔案中。
將 FB2 轉換為 EPUB
免費的瀏覽器端 FB2 轉 EPUB 轉換器。在您的裝置上即時轉換檔案。
檢查與中繼資料
作業系統與檔案分析工具透過檢查開頭的二進位位元組序列來識別 FB2 檔案:
位元組層級標頭簽章(檔案簽章)
作業系統與檔案分析工具透過檢查開頭的二進位位元組序列來識別 FB2 檔案:
十六進位簽章(偏移量 0):
3C 3F 78 6D 6CASCII 表示法: <?xml
標準化: FictionBook 開放式 XML 規格
技術規格
| 容器架構 | 單一獨立的 XML 文件,包含中繼資料、內文章節、詩歌、題辭,以及經 Base64 編碼的二進位圖片 |
| 壓縮 | 未壓縮的原始 XML 或壓縮為 .fb2.zip |
| 位元組序 | UTF-8 / Unicode 文字串流 |
| 色彩空間 | 內嵌圖片設定檔 |
| 色版與結構 | 語意書籍結構(title-info、body、題辭、註腳、章節) |
| 最大尺寸 | 無限制的文字長度 |
| 透明度 | 標記中無透明度(內嵌的 PNG 支援透明度) |
| 串流與漸進式 | 循序 XML 串流;註腳超連結可提供即時的註腳跳轉 |
技術比較矩陣:FB2 對比競爭格式
| 技術屬性 | FB2 (目前) | EPUB | MOBI | TXT |
|---|---|---|---|---|
| 檔案結構 | 單一獨立的 XML 文字檔案 | 由 XHTML、CSS 與圖片組成的 ZIP 壓縮檔 | PalmDOC 二進位資料庫 | 純原始文字串流 |
| 圖片儲存 | 內嵌於 XML 中的 Base64 | ZIP 內的獨立圖片檔案 | Palm 資料庫中的二進位記錄 | 無(僅有文字) |
| 語意感知 | 高(原生詩歌、題辭標籤) | 相依於 CSS 類別 | 原始的 HTML 標籤 | 零語意結構 |
| 主要地區 | 東歐與 PocketBook | 全球 / 西方標準 | 舊版 Amazon Kindle | 支援情況依閱讀應用程式與裝置而異。 |
常見損壞模式與十六進位修復指南
電子書閱讀器回報「XML Parsing Error: mismatched tag at line X」。
根本原因: 未關閉的 XML 標籤,或書本本文文字中含有未跳脫的安培號('&')。
修復: 使用 File2File.app FB2 修復工具來驗證並修復 XML 結構描述標籤。
安全性分析與解析器攻擊向量
FB2 是基於 XML 的格式,容易受到標準 XML 解析器攻擊的影響,例如 XML 實體擴充(Billion Laughs)與 XXE。
已知攻擊向量
- XML 外部實體(XXE)隱碼攻擊,會在自動化處理書籍時讀取本機伺服器檔案。
- XML 實體爆炸(Billion Laughs),會在建構 XML DOM 時消耗記憶體。
- 在未強化安全防護的 C 語言電子書閱讀器函式庫中,解碼 Base64 圖片時發生堆積損毀。
防禦最佳實務: 在處理 FB2 檔案的 XML 解析器中停用 DTD 處理與外部實體解析。
歷史起源與里程碑
2010FB2.ZIP 成為東歐電子書閱讀器(PocketBook)的實際標準電子書格式。
2008FictionBook 2.1 推出了強化的文類分類與表格結構。
2004Dmitry Gribov 與 Michael Matsnev 建立 FB2,優先考量書籍的語意結構而非視覺呈現。
主要優勢與優點
- 純語意標記:描述文字所代表的內容(詩歌、引文、註腳、題辭),而不是其外觀。
- 單一檔案的簡便性:所有插圖與封面圖片皆直接以 Base64 文字內嵌於單一個 XML 檔案中。
- 由於採用標準化的語意 XML 標籤,因此非常容易進行自動化轉換、索引與翻譯。
技術限制與缺點
- 缺乏現代 EPUB 3 所具備的進階 CSS 樣式、自訂網路字型與動態動畫。
- Base64 編碼會使內嵌插圖的檔案大小增加大約 33%。
- 在沒有第三方韌體或轉換的情況下,極少受西方電子書閱讀器(Kindle、Kobo)支援。
有趣的技術冷知識
- FB2 誕生於俄羅斯,至今仍是東歐地區讀者最廣泛閱讀的電子書格式,所有 PocketBook 裝置皆原生支援。
- 在 FB2 檔案中,註腳是儲存於專屬的 '<notes>' 本文區段中,能讓電子書閱讀器將其顯示為彈出視窗。
- 只要將 .fb2 檔案當作 XML 文件開啟,就能夠在任何標準網頁瀏覽器中檢視與驗證 FB2 檔案。
常見技術問題
哪些裝置可以閱讀 FB2 檔案?
PocketBook 電子書閱讀器、FBReader、Moon+ Reader、Calibre 以及各種 Android/iOS 閱讀器應用程式皆可原生閱讀 FB2。
如何將 FB2 轉換為 EPUB 或 PDF?
將您的 FB2 檔案加入 File2File.app,即可直接在您的瀏覽器中於幾秒鐘內將其轉換為精美排版的 EPUB 或 PDF 書籍。
什麼是 FB2.ZIP 檔案?
FB2.ZIP 檔案就是使用 ZIP 壓縮來節省電子書記憶卡儲存空間的標準 .fb2 XML 檔案。