Portable Bitmap Format (.pbm)

Netpbm 標準

Portable Bitmap Format (PBM) 是 Netpbm 套件中基本的 1 位元黑白圖形格式,專為極致的簡單性、人類可讀性以及程式化產生而設計。

檢查與中繼資料

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

在這裡選擇或拖放檔案

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

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

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

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

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

50 31 / 50 34

ASCII 表示法: P1 / P4

標準化: Netpbm 程式庫標準

技術規格

容器架構指定寬度、高度與 1 位元像素陣列的 ASCII (P1) 或二進位 (P4) Netpbm 格式
壓縮未壓縮的原始二進位或 ASCII 字元表示法
位元組序大端序位元封包(在 P4 二進位模式下)
色彩空間單色(1 位元黑白)
色版與結構1 通道 1 位元單色(0 = 白色,1 = 黑色)
最大尺寸實際上無限(ASCII 數字尺寸字串)
透明度無
串流與漸進式依序逐列串流播放

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

技術屬性PBM (目前)PGMPPMBMP
色彩深度1 位元單色(僅限黑白)8 位元至 16 位元灰階24 位元至 48 位元 RGB 色彩1 位元至 32 位元 RGBA
Netpbm 同系列格式PBM (Portable Bitmap)PGM (Portable Graymap)PPM (Portable Pixmap)非 Netpbm 格式
檔案簽章(magic bytes)P1 (ASCII) / P4 (二進位)P2 (ASCII) / P5 (二進位)P3 (ASCII) / P6 (二進位)BM (0x42 0x4D)
主要用途OCR 與傳真文件處理醫療造影與灰階電腦圖學教育Windows 桌面圖形

常見損壞模式與十六進位修復指南

圖片顯示時出現水平列扭曲或遺失像素。

根本原因: ASCII 標頭中存在格式錯誤的註解或遺失空白分隔符號。

修復: 使用 File2File.app Netpbm 轉換器驗證標頭格式與換行符號。

安全性分析與解析器攻擊向量

讀取 ASCII 尺寸字串的 PBM 解析器若尺寸超過平台限制,容易受到整數溢位影響。

已知攻擊向量

  • 在寬度乘以高度的位元緩衝區配置期間發生整數溢位。
  • 讀取格式錯誤的 ASCII 空白串流時發生緩衝區過度讀取。
  • 透過微小檔案中過大的尺寸宣告導致阻斷服務。

防禦最佳實務: 限制 PBM 的最大允許尺寸,並在解碼前驗證位元緩衝區邊界。

歷史起源與里程碑

1993Netpbm 將 PBM、PGM 與 PPM 整合為在 Unix 和其他系統上使用的可攜式圖片工具。
1991引入 PBM 二進位模式,檔案簽章(magic bytes)為「P4」,以提升儲存效率。
1988Jef Poskanzer 發明了 PBM(檔案簽章為「P1」),以便透過電子郵件網路傳輸點陣圖。

主要優勢與優點

  • 其精簡的結構可以讓基本的 PBM 讀取器與寫入器實作起來很簡單,不過程式碼長度取決於語言與需求。
  • ASCII 模式 (P1) 100% 具備人類可讀性,可以在記事本等標準文字編輯器中建立或編輯。
  • PBM 可用於某些圖片處理、電腦視覺與 OCR 工作流程,特別是在需要簡單單色點陣圖的情況下。

技術限制與缺點

  • 嚴格限制為 1 位元單色(沒有灰階或色彩)。
  • ASCII 模式效率極低,每個圖片資料位元都需要使用一個位元組的 ASCII 文字(「0」或「1」)。
  • 缺少中繼資料、色彩描述檔或圖層支援。

有趣的技術冷知識

  • 在 ASCII PBM(「P1」)中,白色像素以「0」表示,黑色像素以「1」表示(這與現代 RGB 慣例相反)。
  • 您實際上只要在文字檔案中輸入「P1 2 2 1 0 0 1」並儲存,就能建立有效的 PBM 圖片。
  • 發明此格式是為了讓電腦科學家能夠透過 Usenet 新聞群組分享掃描文件。

常見技術問題

PBM、PGM 和 PPM 之間有什麼區別?

PBM 是 1 位元單色(僅限黑白)、PGM 是灰階(各種深淺的灰色),而 PPM 是完整的 24 位元 RGB 彩色。

PBM 檔案中的 P1 和 P4 代表什麼?

「P1」表示圖片以純文字 ASCII 儲存,而「P4」表示圖片以精簡的二進位位元組儲存。

如何將 PBM 檔案轉換為 PNG?

您可以在您的瀏覽器中使用 File2File.app,直接將 PBM 檔案轉換為現代的 PNG 或 JPG 圖片,無需將資料上傳到任何伺服器。