工具包 KitBao工具包 KitBao
tutorialKitBao 小編· 更新於 2026-06-10· 2 分鐘閱讀

Base64 是什麼?用途、原理與線上編碼解碼教學

常在程式或網頁看到一長串看不懂的 Base64?這篇用白話講清楚 Base64 是什麼、用在哪、為什麼它不是加密,以及怎麼線上編碼解碼,工程師和好奇的人都看得懂。

Base64 是什麼?用途、原理與線上編碼解碼教學

本文部分連結為聯盟連結,透過連結購買不會增加你的費用。

你大概在某個地方看過一長串像亂碼、結尾還可能有 = 的字串——aGVsbG8gd29ybGQ= 這種。那很可能就是 Base64。它沒有想像中神秘,搞懂它對處理資料、看懂程式很有幫助,這篇用白話講清楚。

Base64 是什麼?

Base64 是一種編碼方式——把任意資料(文字、圖片、檔案這些二進位資料)轉換成只用 64 種可見字元A–Za–z0–9+/)組成的字串。

舉例:

原文:  hello world
Base64:aGVsbG8gd29ybGQ=

它的目的不是加密、也不是壓縮,而是讓資料能安全地在「只接受文字」的環境裡傳輸——例如網址、Email、JSON。這些管道遇到某些特殊位元可能會出錯,把資料先 Base64 一下,就變成純文字、怎麼傳都不會壞。

重要觀念:Base64 不是加密!

這是最多人誤會的地方。Base64 完全不安全——它是公開、可逆的,任何人拿到字串都能一秒解碼還原,沒有任何金鑰或保護。

看到這個:c2VjcmV0   →  解碼後:secret

所以千萬別用 Base64 來「保護」密碼或機密。它只是「換一種寫法」,不是「上鎖」。要保護資料,請用真正的加密。

Base64 用在哪?

用途 說明
內嵌圖片(Data URI) 把小圖示直接寫進 HTML/CSS,省一次網路請求
Email 附件 附件常以 Base64 編碼後夾帶
JSON/網址傳資料 把二進位資料塞進純文字格式
API token 一些權杖(如 JWT 的部分)用 Base64 表示

共通點都是:要把「非純文字」的資料,塞進「只接受文字」的管道。

為什麼編碼後反而變長?

Base64 用 4 個字元表示原本 3 個位元組,所以編碼後體積大約增加 33%。這是為了相容性付出的代價。也因此它適合小資料(小圖示、短字串);大檔案硬要內嵌,反而會讓頁面變肥,要斟酌。

結尾的 = 是「填充字元」,用來補齊長度,看到它不用緊張,是正常的。

怎麼編碼、解碼 Base64?

最快的方式是直接用 KitBao 的 Base64 編碼/解碼工具——貼上文字或 Base64,選編碼或解碼,立刻互轉。它支援 UTF-8(中文不會亂碼),而且完全在你的瀏覽器內運算、資料不會上傳,開發測試很安心。

編碼:你好  →  5L2g5aW9
解碼:5L2g5aW9  →  你好

講白了

Base64 就是「把任意資料變成純文字字串」的編碼方式——讓資料能安全地在網址、Email、JSON 這些只吃文字的地方傳輸。記住三件事:它不是加密(別拿來保護機密)、會讓體積增加約三分之一、適合小資料。要編碼解碼時,丟進 Base64 工具一鍵互轉就好。想了解另一個常見格式,也可以看 JSON 是什麼

常見問題

Base64 到底是什麼?

Base64 是一種「編碼」方式——把任意資料(文字、圖片、檔案等二進位資料)轉換成只用 64 種可見字元(A–Z、a–z、0–9、+、/)組成的字串。目的不是加密或壓縮,而是讓原本可能含特殊位元的資料,能安全地在只接受文字的環境(像網址、Email、JSON)裡傳輸而不出錯。

Base64 是加密嗎?安全嗎?

不是加密,一點都不安全。Base64 是公開、可逆的編碼,任何人拿到字串都能直接解碼還原,沒有任何金鑰或保護。所以絕對不要用 Base64 來「保護」密碼或機密資料——它只是換一種表示方式,不是上鎖。要保護資料請用真正的加密。

Base64 通常用在哪裡?

很常見:把小圖示直接內嵌進 HTML/CSS(Data URI,省一次請求)、Email 夾帶附件的編碼、在 JSON 或網址裡傳遞二進位資料、以及一些 API 的權杖(token)格式。簡單說,凡是『要把非純文字的資料,塞進只接受文字的管道』時,就常會看到 Base64。

為什麼 Base64 編碼後反而變長了?

因為它用 4 個字元來表示原本 3 個位元組的資料,所以編碼後體積大約增加 33%。這是為了『相容性』付出的代價——換來能在純文字環境安全傳輸。也因此 Base64 適合小資料(如小圖示),大檔案內嵌反而會讓頁面變肥,要斟酌使用。

相關文章