使用方法
- 貼上 Base64 字串或 data:image/bmp;base64 URI,也支援 PNG、JPEG、WebP 等格式。
- 檢視預覽、尺寸和解碼後的大小。
- 下載格式已預設為 BMP。如果資料本來就是 BMP 且需要保持不變,請改選「原始檔案」。
- 下載 .bmp 檔案。
在 Base64 中識別點陣圖
Windows 點陣圖檔案以兩個字母 BM 開頭,編碼後就是 Base64 字串最前面的 Qk。隨後的檔案頭記錄了檔案大小、像素資料的偏移量、尺寸和色深。BMP 資料常見於舊版 Windows 應用、剪貼簿和截圖匯出、收銀及工業系統、微控制器螢幕取模工具和測試用例。MIME 型別通常為 image/bmp,有時也會看到 image/x-ms-bmp。
瀏覽器可以顯示常見的 BMP 變體,但很老的 OS/2 點陣圖和少見的壓縮模式未必在所有瀏覽器中都能顯示。如果字串以 Qk 開頭卻沒有預覽,請以「原始檔案」格式下載,再用桌面看圖軟體開啟。
BMP 檔案為什麼這麼大
轉換器寫出的是未壓縮的 32 位像素,每個像素佔 4 個位元組,因此檔案大小隻取決於尺寸,與圖片內容無關:
| 尺寸 | BMP 大小 | Base64 大小 |
|---|---|---|
| 640 × 480 | 約 1.2 MB | 約 1.6 MB |
| 1920 × 1080 | 約 8.3 MB | 約 11 MB |
| 3840 × 2160 | 約 33 MB | 約 44 MB |
同一張截圖儲存為 PNG 往往只有十分之一大小。只有在目標軟體明確要求時才使用 BMP。
關於 32 位輸出
輸出檔案帶有 Alpha 通道,在支援的程式中透明區域會保持透明。部分舊程式會忽略 Alpha 通道,把這些區域顯示為黑色或白色。遇到這種情況,請先去掉源圖片的透明背景再轉換。
在 Windows 上不借助瀏覽器解碼 Base64 BMP,用 PowerShell 就夠了:
$b64 = Get-Content .\image.txt -Raw
[IO.File]::WriteAllBytes("$PWD\image.bmp", [Convert]::FromBase64String($b64))
常見問題
為什麼 BMP 比原圖大這麼多?
BMP 輸出沒有壓縮,每個像素佔用 4 個位元組。同一張圖片儲存為經過壓縮的 PNG 或 JPEG,通常要小得多。
BMP 支援透明背景嗎?
支援。本工具生成的 32 位 BMP 檔案包含 Alpha 通道,但能否顯示透明效果取決於開啟檔案的程式。
怎樣判斷一個 Base64 字串是 BMP?
BMP 資料以
Qk 開頭,這是字母 BM 的 Base64 形式。本工具還會讀取檔案頭位元組來確認格式。可以把 BMP 再轉回 Base64 嗎?
可以,使用 BMP 轉 Base64 即可。未壓縮點陣圖的 Base64 字串可能非常長,可以考慮先轉換為 PNG。