FictionBook 2.0 (.fb2)

FictionBook 標準

FictionBook 2.0 (FB2) 是一種熱門的開放式語意 XML 電子書格式,將整本書籍的文字、排版、中繼資料和內嵌封面插圖打包至單一獨立的 XML 檔案中。

將 FB2 轉換為 EPUB

免費的瀏覽器端 FB2 轉 EPUB 轉換器。在您的裝置上即時轉換檔案。

檢查與中繼資料

作業系統與檔案分析工具透過檢查開頭的二進位位元組序列來識別 FB2 檔案:

在這裡選擇或拖放檔案

私密 - 檔案絕不會離開您的裝置

或貼上 Ctrl+V
零網路傳輸隱私保證: 0 位元組上傳至外部伺服器。所有處理皆在本機瀏覽器沙箱中進行。

位元組層級標頭簽章(檔案簽章)

作業系統與檔案分析工具透過檢查開頭的二進位位元組序列來識別 FB2 檔案:

十六進位簽章(偏移量 0):

3C 3F 78 6D 6C

ASCII 表示法: <?xml

標準化: FictionBook 開放式 XML 規格

技術規格

容器架構單一獨立的 XML 文件,包含中繼資料、內文章節、詩歌、題辭,以及經 Base64 編碼的二進位圖片
壓縮未壓縮的原始 XML 或壓縮為 .fb2.zip
位元組序UTF-8 / Unicode 文字串流
色彩空間內嵌圖片設定檔
色版與結構語意書籍結構(title-info、body、題辭、註腳、章節)
最大尺寸無限制的文字長度
透明度標記中無透明度(內嵌的 PNG 支援透明度)
串流與漸進式循序 XML 串流;註腳超連結可提供即時的註腳跳轉

技術比較矩陣:FB2 對比競爭格式

技術屬性FB2 (目前)EPUBMOBITXT
檔案結構單一獨立的 XML 文字檔案由 XHTML、CSS 與圖片組成的 ZIP 壓縮檔PalmDOC 二進位資料庫純原始文字串流
圖片儲存內嵌於 XML 中的 Base64ZIP 內的獨立圖片檔案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 檔案。