Base64 清理

原始输入
0 字元

免費線上 Base64 清理工具,去除 Base64 字串中的換行、空格、不可見字元等無效內容。支援去空白、去特殊字元、自動補齊 padding 三個獨立選項,輸出嚴格符合 RFC 4648 的 Base64。

相關推薦

什麼是 Base64 清理?

Base64 清理是從 Base64 字串中去除所有無效字元和多餘字元的操作。目標是輸出嚴格符合 RFC 4648 標準的純 Base64,便於在不同系統間傳遞、儲存、解碼。

為什麼要清理:Base64 在不同來源中常被混入無效字元。①換行字元(\n、\r\n)—— 郵件附件、資料庫欄位、日誌輸出;②空格和定位字元 —— 人工貼上、Excel 複製;③UTF-8 BOM(EF BB BF)—— Windows 系統儲存的文字檔;④全形符號、中文標點 —— 複製貼上錯誤。這些都會觸發解碼器錯誤。

三種清理選項:①去空白(\s \n \r \t)—— 處理換行和空格;②去特殊字元 —— 僅保留 Base64 字母表 A-Z a-z 0-9 + / = - _;③自動補齊 padding —— 讓結果長度為 4 的倍數。三個選項可以獨立勾選,按需組合。

典型用途:①API 除錯 —— 貼上第三方介面回傳的 Base64 報錯時清理;②資料庫匯入 —— 去除 Excel 複製時帶的多餘空格;③解碼前前處理 —— 避免 atob() 報 InvalidCharacterError;④JWT、Data URL 規範化 —— 處理跨系統傳輸差異。

適用場景

  • 解碼前前處理:把第三方介面、JWT、日誌中帶換行或空格的 Base64 清理成可直接解碼的形式,避免 InvalidCharacterError。
  • Excel、郵件貼上修復:去除從 Excel 儲存格、郵件內容複製 Base64 時混入的多餘空格、Tab、換行字元。
  • JWT權杖清理:把帶換行的 JWT 三段式字串(header.payload.signature)規範成單行,移除多餘空白。
  • MIME 附件處理:清理郵件附件 Base64 中每 76 字元自動換行的格式,方便後續解碼。
  • URL Safe 相容:保留 - 和 _ 字元,讓 JWT、URL 路徑、檔名中的 Base64 不會被誤刪。
  • 批次清理前的前處理:與 base64-format、base64-padding 配合使用,先清理再格式化或補齊。

使用方法

  1. 貼上或輸入含雜訊的 Base64 字串(可帶換行、空格等無效字元)。
  2. 按需勾選清理選項:去空白、去特殊字元、自動補齊 padding(預設三項全開)。
  3. 檢視右側輸出:即時顯示清理後的 Base64、字元計數、移除字元數、解碼合法性。
  4. 複製結果到剪貼簿,或下載為 .txt 檔案用於後續處理。

功能特點

  • 去空白選項:自動去除 \n、\r、\t 和空格,處理郵件附件、Excel 貼上等場景。
  • 去特殊字元選項:僅保留 A-Z a-z 0-9 + / = - _ 共 66 個合法 Base64 字元。
  • 自動補齊 padding:可勾選讓結果長度變成 4 的倍數,修復長度錯誤。
  • 三個選項獨立可疊加:按需勾選,靈活應對不同污染情況。
  • URL Safe 字元保留:不會誤刪 - 和 _,避免 JWT / URL 場景的字元丟失。
  • 即時驗證輸出:用瀏覽器 atob() 偵測輸出是否可解碼,狀態即時顯示。
  • 字元計數與移除提示:即時顯示輸入/輸出字元數、移除字元數、可解碼狀態。
  • 本機瀏覽器處理:所有清理操作在本機完成,原始 Base64 不上傳任何伺服器。

最佳实践

先用清理,再用 padding 工具補齊

清理只去除無效字元和可選補齊 padding。如果 Base64 同時存在換行和缺失 padding,建議先勾選全部三項清理,再觀察輸出長度是否仍非 4 的倍數。如仍有 padding 異常,可再用專門的 padding 工具。

JWT權杖三段式單獨處理

JWT 是 header.payload.signature 三段 Base64URL 用 . 連接的整體。清理時三段都需要去除空白,但不要在段之間插入額外字元,否則簽章驗證會失敗。建議貼上前先按 . 拆分,逐段清理後再拼接。

URL Safe 輸入不要勾選「去特殊字元」

URL Safe Base64 用 - 和 _ 替代 + 和 /。本工具預設會保留這 4 個字元,但如果手動設定了更嚴的字元白名單(只允許 +/),URL Safe 輸入會被破壞。如不確定字元集,先關閉「去特殊字元」只保留「去空白」。

清理後仍報錯 → 檢查編碼與 BOM

如果清理後 atob() 仍然報 InvalidCharacterError,可能是 UTF-8 BOM(EF BB BF)或 UTF-16 位元組順序殘留。本工具的「去空白」選項不針對 BOM,建議在瀏覽器主控台用 TextDecoder 重新按 UTF-8 解碼後再次清理。

BOM 來源識別:Windows 儲存的 txt

如果 Base64 是從 Windows 的「記事本」另存為 UTF-8 得到,前 3 個位元組(EF BB BF)就是 BOM。即使清理了空白和換行,atob 仍可能識別失敗。處理方法:用 VS Code 或 PowerShell 重新儲存為 UTF-8 無 BOM 格式。

教學和文件示範時展示清理前後對比

Base64 清理是教學中的常見痛點。建議在寫文件時同時附上清理前和清理後的 Base64,加上字元數和可解碼狀態對比,讓讀者直觀理解每個選項的作用。

常見問題

Base64 清理會改變原始位元組嗎?

不會。清理只去除無效字元(空白、換行、非 Base64 字元),不會修改中間的合法字元。如果只去除空白和非法字元,清理前後的位元組內容完全一致。如果勾選了「自動補齊 padding」,僅在末尾追加 =,不影響原始位元組。

三種清理選項有什麼區別?

去空白:去除 \s \n \r \t(空格、換行、歸位字元、Tab)。去特殊字元:僅保留 A-Z a-z 0-9 + / = - _ 共 66 個 Base64 合法字元。自動補齊 padding:在末尾追加 = 讓長度變成 4 的倍數。三個選項獨立可組合。

為什麼 atob() 報 InvalidCharacterError?

常見原因:①含中文、Unicode 表情或其他非 ASCII 字元;②含換行或空格(Excel 複製、郵件貼上的常見情況);③Base64URL 字元(- / _)混用;④長度不是 4 的倍數。本工具的清理可解決前 3 個問題,補齊 padding 工具可解決第 4 個。

清理會刪除 padding 嗎?

不會。= 是 Base64 的合法字元,本工具的「去特殊字元」選項明確保留 =。如果想刪除 padding,請用專門的 padding 工具(base64-padding)切換到「去填充」模式。

包含換行怎麼清理?

預設勾選「去空白」即可處理。換行字元(\n / \r\n)和 Tab、空格都會被去除。如果需要保留換行(MIME 郵件附件格式),關閉「去空白」選項。

本工具能處理 UTF-8 BOM 嗎?

BOM(EF BB BF)是 Unicode 字元 U+FEFF,本工具的「去空白」使用正規表示式 \s \n \r \t 不包含 U+FEFF,因此 BOM 可能殘留。如遇 BOM 導致的 InvalidCharacterError,建議先在程式碼或瀏覽器主控台用 TextDecoder 去掉 BOM。

URL Safe 和標準 Base64 字元會互轉嗎?

不會。本工具的「去特殊字元」選項保留 + / - _ 四種字元,僅去噪不主動轉換。如需 URL Safe ↔ 標準字元互轉,請用專門的 Base64URL 工具(base64-url-safe)。

我的內容會上傳伺服器嗎?

不會。所有清理邏輯都在瀏覽器本機執行,原始 Base64 字串不會離開你的裝置。處理敏感資料(憑證、金鑰、權杖)也可以放心使用。

可以一次清理多段 Base64 嗎?

本工具是單段清理介面。如有多段 Base64 需要清理,建議迴圈呼叫本工具的邏輯,或使用對應的命令列工具(如 base64 命令)。如需批次編碼/解碼,請用 base64-batch-encode、base64-batch-decode。

故障排查

清理後 atob 仍然報錯

可能是長度問題(不是 4 的倍數)或者 BOM、編碼殘留。先確認勾選了「自動補齊 padding」,如仍報錯嘗試在瀏覽器主控台用 TextDecoder 重新按 UTF-8 解碼,去掉 BOM 後再次清理。

清理後長度變了,但解碼仍然失敗

可能原始內容不是標準 Base64,例如是 Base32、Base58、Base85。請確認原始資料的編碼格式,並切換到對應工具。也可以嘗試 atob 前先用 btoa 測試原字串是否能重新編碼。

清理後字元變得很少

很可能「去特殊字元」選項過於嚴格,把 + / - _ 也去掉了。請檢查是否誤關了字元白名單;本工具預設保留全部 66 個 Base64 合法字元。如果輸入是 URL Safe,關閉「去特殊字元」即可。

貼上後沒有任何輸出

可能輸入完全是空白字元(僅含空格、換行、Tab),本工具的「去空白」選項會全部去除後留下空字串。請檢查原始輸入是否包含至少一個 Base64 字元(A-Z a-z 0-9 + / =)。

術語表

UTF-8 BOM
位元組順序標記。Windows 系統儲存 UTF-8 文字時附加的 3 位元組前綴(0xEF 0xBB 0xBF),會讓 Base64 解碼器把首字元當成非法位元組。
URL Safe Base64
RFC 4648 §5 定義的 Base64 URL 安全變體,把 + 和 / 替換為 - 和 _。本工具的「去特殊字元」選項保留這 4 個字元,避免誤刪。
換行字元
\r\n(Windows)和 \n(Unix / macOS)。郵件附件的 MIME Base64 通常每 76 字元換行一次,清理時需要去除。
有效 Base64 字元
標準 Base64 字元集為 A-Z、a-z、0-9、+、/、=(padding),加上 URL Safe 變體的 -、_,共 66 個合法字元。
InvalidCharacterError
瀏覽器 atob() 拋出的解碼錯誤。當 Base64 字串包含合法字元表外的字元(中文、空格、特殊符號等)時會觸發。

Base64 字元集與保留規則

本工具「去特殊字元」選項保留的合法字元表。

字元類型字元保留規則
字母A-Z, a-z52 字元,必保留
數字0-910 字元,必保留
標準 Base64 符號+ /2 字元,必保留
URL Safe 符號- _2 字元,URLSafe 場景必保留
Padding=末尾填充,必保留
空白空格, \n, \r, \t按「去空白」選項去除
其他中文、表情、BOM 等按「去特殊字元」選項去除

5 種 Base64 常見污染來源

了解 Base64 字串如何被混入無效內容。

污染來源混入內容推薦選項
郵件附件\r\n 每 76 字元去空白
Excel、資料庫貼上前後空格、Tab去空白
Windows txt 檔案UTF-8 BOM (EF BB BF)去特殊字元 + 手動去 BOM
URL、檔名+ / 字元衝突保留 URLSafe(用 base64-url-safe 轉換)
日誌、trace 輸出除錯前綴、後綴去特殊字元

3 個清理選項對比

三個選項獨立可疊加,按需組合使用。

選項行為典型場景
去空白去除 \s \n \r \t郵件、Excel、日誌
去特殊字元僅保留 Base64 字母表混入中文、表情、BOM
自動補齊 padding末尾追加 = 至 4 倍數長度非 4 倍數

Authoritative References