水壺翔

圖片轉 Base64

一句話:把照片、音樂、影片,轉成 Base64 格式,就可以插入到 Bearblog 或 HTML 網頁中!

為甚麼這麼神奇?

圖片轉 base64

  1. 進入或使用網址 https://www.strerr.com/tw/base64_encode_img.html
  2. ctrl + home 回到頂端(瀏覽起手式)!
  3. 按 b 找到「選擇檔案: 未選擇任何檔案」按鈕,空格/enter 按下。
  4. 跳出開啟舊黨對話框,選擇要轉換的圖片。
    ⠀⠀(可以丟 png、jpg、gif、bmp、ico、svg 這些格式進去!)
  5. 按 e 找到編輯區,裡面的內容,就是轉換的結果!
  6. shift + b 找到「複製」按鈕,空格/enter 按下,也會直接將內容複製到剪貼簿。

插入語法

  1. 驚嘆號 ! 開頭:表示為圖片資訊。
  2. 一對中括號 [] ,裡面放替代文字。
  3. 一對小括號 () ,裡面貼網址,或 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

如何使用?

  1. 準備 FFmpeg:確保你的電腦已經安裝 FFmpeg,且能在 CMD 輸入 ffmpeg 執行。
  2. 建立檔案:新建一個記事本,貼上代碼,另存為 convert.bat(存檔類型選「所有檔案」,編碼選 ANSI)。
  3. 執行: 在資料夾中雙擊 convert.bat
  4. 結果: 它會自動幫每一張 JPG 跑「壓縮 -> 檢查 -> 再壓縮」的流程,直到檔案小於 73KB,最後產出純 Base64 字串的 .txt。

希望這樣,可以幫助到,想要插入圖片到部落格的人囉!