圖片轉 Base64
一句話:把照片、音樂、影片,轉成 Base64 格式,就可以插入到 Bearblog 或 HTML 網頁中!
為甚麼這麼神奇?
- Base64 是一種編碼方式。所以任何檔案,都可以用這種方式儲存。
- 基於 64 個可打印字符,來表示二進制數據的表示方法。包括字母A-Z、a-z、數字0-9,共有 62 個字符,此外兩個可打印符號,在不同的系統中而不同。
- 常用於傳輸文本數據的場合,例如電子郵件及 XML。
圖片轉 base64
- 進入或使用網址 https://www.strerr.com/tw/base64_encode_img.html。
- ctrl + home 回到頂端(瀏覽起手式)!
- 按 b 找到「
選擇檔案: 未選擇任何檔案」按鈕,空格/enter 按下。 - 跳出開啟舊黨對話框,選擇要轉換的圖片。
⠀⠀(可以丟 png、jpg、gif、bmp、ico、svg 這些格式進去!) - 按 e 找到編輯區,裡面的內容,就是轉換的結果!
- shift + b 找到「
複製」按鈕,空格/enter 按下,也會直接將內容複製到剪貼簿。
插入語法
- 驚嘆號
!開頭:表示為圖片資訊。 - 一對中括號
[],裡面放替代文字。 - 一對小括號
(),裡面貼網址,或 base64 字串。
字串太長,被退貨怎麼辦?
(2026.02.22 更新!)
曾一次上傳 5–6 張照片,據軟體說有一百多萬個字元,跳出錯誤訊息,說字元數太多。
因此,我的解決策略是:請 AI 幫忙撰寫 bat 指令,偵測字串長度大於十萬時,降低圖片解析度或大小,來達成插入的效果。
以下是經過我實測的原始碼:
@echo off
setlocal enabledelayedexpansion
:: 設定目標:100,000 字 Base64 約等於 73,000 Bytes 的原始檔案
set "MAX_BYTES=73000"
echo ============================================
echo FFmpeg 自動壓縮轉 Base64 (含 Data URI 前綴)
echo ============================================
for %%F in (*.jpg) do (
call :ProcessImage "%%F"
)
echo ============================================
echo 全部處理完成!
echo ============================================
pause
exit /b
:ProcessImage
set "sourceFile=%~1"
set "filename=%~n1"
set "quality=75"
set "scale=1280"
echo 正在處理: %sourceFile%
:RETRY
ffmpeg -i "%sourceFile%" -vcodec libwebp -lossless 0 -q:v !quality! -vf "scale=!scale!:-1" "temp.webp" -y -loglevel quiet
for %%I in ("temp.webp") do set "filesize=%%~zI"
if !filesize! GTR %MAX_BYTES% (
if !quality! GTR 20 (
set /a quality-=15
echo [調整] 目前 !filesize! Bytes, 降低品質至 !quality!...
goto RETRY
) else if !scale! GTR 400 (
set /a scale-=200
set "quality=60"
echo [調整] 品質已達底限,縮小尺寸至 !scale!...
goto RETRY
)
)
:: 1. 轉為 Base64
certutil -encode "temp.webp" "temp.b64" >nul
:: 2. 清理格式、加入 WebP 前綴並儲存
:: 注意:這裡使用了 data:image/webp;base64, 因為檔案格式是 WebP
powershell -Command "$b64 = 'data:image/webp;base64,' + ((Get-Content 'temp.b64' | Where-Object { $_ -notmatch '^-' }) -join ''); Set-Content -Path '!filename!_base64.txt' -Value $b64 -NoNewline"
echo [成功] 已加入前綴並儲存 ==^> !filename!_base64.txt
if exist temp.webp del temp.webp
if exist temp.b64 del temp.b64
goto :eof
如何使用?
- 準備 FFmpeg:確保你的電腦已經安裝 FFmpeg,且能在 CMD 輸入 ffmpeg 執行。
- 建立檔案:新建一個記事本,貼上代碼,另存為
convert.bat(存檔類型選「所有檔案」,編碼選ANSI)。 - 執行: 在資料夾中雙擊
convert.bat。 - 結果: 它會自動幫每一張 JPG 跑「壓縮 -> 檢查 -> 再壓縮」的流程,直到檔案小於 73KB,最後產出純 Base64 字串的 .txt。
希望這樣,可以幫助到,想要插入圖片到部落格的人囉!