Base64 編碼/解碼器
免費本機編解碼 UTF-8 中文、Emoji、多行文字,支援標準 Base64 與 Base64URL、嚴格格式及 UTF-8 檢查,提供字元與位元組統計,免安裝、不保存內容。
尚未完成編解碼。
輸入1 MiB、輸出4 MiB UTF-8,最多3秒含Worker載入。編碼會膨脹,大型輸出可能超過解碼輸入上限。空字串可轉換,空結果無須複製。文字修改即取消舊結果;不處理圖片或任意二進位檔。
Base64是文字編碼,不是加密
Base64將每三個位元組拆成四個可列印字元,不需要密鑰就能解碼,無法保護密碼或機密資料。文字會先經TextEncoder轉成UTF-8,再編碼;繁體中文與Emoji不直接交給只能處理單位元組的btoa。
照著驗算:f變成Zg==
選文字轉Base64,輸入f並轉換,得到Zg==。切換Base64轉文字,把Zg==貼到原始輸入,結果還原f。ASCII abc得到YWJj;UTF-8的「中文」得到5Lit5paH。若選Base64URL,f編碼為Zg,解碼時接受合法缺少padding的形式。
Base64URL用在需要URL安全字元的地方
標準字元表含+與/,URL版本以-與_替換,這裡的URL編碼省略=。不會混用兩種字元表、不默默跳過空白,也不接受data:text/plain;base64,之類前綴。標準Base64須提供正確padding;非法尾端位元也會報錯,不能只靠atob是否接受就判定有效。
解碼亂碼與UTF-8錯誤怎麼辦?
解碼先還原位元組,再以fatal模式TextDecoder檢查UTF-8。若資料是圖片、Big5或損壞序列,會明確失敗,不以�取代後假裝完整成功。BOM保留,Unicode字元數以碼位計而非螢幕字形;一個家庭Emoji可能包含多個碼位。
多行與容量注意事項
完整貼上可保留收到的CRLF供運算及複製,textarea視覺顯示、一般編輯或部分貼上可能正規化為LF。需要逐位元組原檔比對時,先確認換行。Base64通常增加約三分之一大小,不是壓縮;這裡的1 MiB是UTF-8位元組,不是中文字數。大型工作在可終止Worker執行,取消、修改、換模式或離頁都使舊結果失效。
接著也用得到:文字雜湊產生器 ↗JSON 格式化與驗證器 ↗YAML ↔ JSON 轉換器 ↗
接著也用得到:URL 編碼/解碼器 ↗
簡單幾步,就完成。
- 選擇文字編碼或Base64/Base64URL解碼方向,貼上文字。
- 按編解碼;本機Worker檢查字元、padding與有效UTF-8。
- 核對結果與位元組統計後複製;修改輸入或模式後須重新轉換。
生活裡的這些時刻,都用得到
檢查API文字欄位的Base64內容;將繁體中文與Emoji轉為可攜文字編碼;處理URL安全的Base64URL片段,確認缺少padding仍符合規則。
你可能還想知道
Base64是加密嗎?
不是。任何人都可解碼,不適合保護密碼或機密資料,也不提供簽章、授權或來源真實性。
Base64URL與Base64差在哪裡?
Base64URL將+換成-、/換成_,本工具編碼省略尾端=,解碼接受正確的有或無padding形式。標準Base64則要求正確padding,兩種字元表不混用。
中文為什麼會亂碼或解碼失敗?
工具先把文字轉為UTF-8位元組再編碼,解碼後必須是完整有效UTF-8。圖片、任意二進位或其他字元編碼可能不是UTF-8文字,本工具會報錯而不以替代字元偽裝成功。
Base64會變小嗎?有哪些容量限制?
通常變大,長度約為原始位元組的4/3並受padding影響。每次輸入上限1 MiB UTF-8、輸出4 MiB、Worker含載入最多3秒;大型編碼結果可能超過解碼輸入上限,不會截斷後宣稱完整成功。
多行、空白與BOM會保留嗎?
文字編碼會保留實際接收的UTF-8內容與BOM;完整貼上可保留CRLF供轉換與複製,但textarea顯示、一般編輯或部分貼上可能將換行正規化為LF。Base64解碼不自動略過空白、換行或data URL前綴。