Base64 常見問題一次解答:編碼失敗與亂碼排除

Base64 工具用起來簡單,但解碼失敗、亂碼、長度問題還是三天兩頭出現。這篇把最常被問到的問題整理成一份速查清單。

2026-09-27 · 5 分鐘閱讀

解碼失敗先查這三處

第一,檢查字串是否完整:從聊天軟體或郵件複製時,很容易少貼頭尾幾個字元,或把換行也一起貼進來。先把字串貼到記事本,確認頭尾乾淨再解碼。

第二,確認沒有混入全形字元或 HTML 轉義(例如 &)。從網頁複製的程式碼有時會帶入這些隱形字元,清掉之後再試一次。

第三,確認它真的是 Base64。有些 token 只是長得像,實際上是 Base58 或十六進位,硬用 Base64 解只會得到亂碼。

亂碼問題九成是字元集

解碼出來是亂碼,但長度看起來合理?幾乎都是字元集對不上。編碼端用 UTF-8、解碼端用 Big5 或 Latin-1 解讀,中文字就會變成亂碼。跟提供字串的對方確認編碼方式,比反覆重試有用。

另外一種可能是「雙重編碼」:原文已經是 Base64,又被編了一次。這時解碼一次得到的還是 Base64 字串,再解一次才會看到原文。

長度與效能的現實

Base64 會讓體積膨脹約 33%,編碼幾 MB 的文字在瀏覽器裡會明顯變慢,這是正常現象,不是工具壞掉。真的很大的內容,建議切段處理。

也因為會變大,不要拿 Base64 來「壓縮」東西。它是為了讓二進位資料能走純文字通道而存在的,省空間從來不是它的工作。

常見問題

貼上字串後按解碼沒反應,是壞了嗎?

先檢查字串長度是否完整、有沒有混入空白或換行。超長字串也可能讓瀏覽器卡住幾秒,稍等一下再看。都沒問題再換個瀏覽器試試。

解碼出來的中文是亂碼怎麼辦?

這通常是字元集不匹配。確認編碼端用的是 UTF-8,並用同樣字元集解碼。如果字串來自第三方,直接問對方用什麼編碼最快。

Base64 字串可以放在網址裡嗎?

標準 Base64 含 +、/、=,在網址裡需要額外轉義。網址場景請用 Base64URL 變體(把 +/ 換成 -_ 並省略 =),或先做 URL 編碼。

編碼後的字串可以當密碼存嗎?

不行。Base64 不是加密,任何人都能解開。存密碼請用雜湊(如 bcrypt),傳輸機密請用真正的加密。

相關教學