Base64 編碼
在下方貼上文字並點擊編碼將其轉換為Base64。支援UTF-8文字。所有處理均在瀏覽器中本地完成。
已複製!
什麼是 Base64 編碼?
Base64 是一種二進位轉文字的編碼方案,以 ASCII 字串表示二進位資料。它常用於在 HTML/CSS 中嵌入圖片、在 URL 中傳輸資料、編碼電子郵件附件(MIME),以及在 JSON 或 XML 中儲存複雜資料。
此編碼使用 64 個字元:A-Z、a-z、0-9、+ 和 /,以 = 進行填充。
本頁使用瀏覽器內建的 Base64 函式編碼,因此結果與任何標準函式庫完全一致:標準字元集、等號填充、單行輸出。不上傳,也不保存。
正在排查一個死活解不開的問題?
解不開的資料包通常是症狀而不是病根:鏈路上某處做了兩次編碼、字元集是被假定而不是被宣告、權杖簽章所涵蓋的位元組和大家以為的並不完全一致。這類活我們在做,圍繞整合、API 以及在它們之間傳遞資料的系統。
說說哪裡出了問題常見問題
Base64 編碼用來做什麼?
它的用途是讓位元組通過那些只能可靠傳輸文字的通道。郵件附件、CSS 和 HTML 裡的 data URI、必須裝下一個檔案的 JSON 欄位、PEM 格式的金鑰與憑證,以及 HTTP 基本認證標頭,用的都是它。它既不是壓縮也不是加密,只是用 64 個幾乎能撐過任何傳輸的字元把任意位元組拼寫出來。
為什麼 Base64 會比原始資料大約三分之一?
因為它用四個字元表示三個位元組。三個位元組是 24 位元,Base64 把它切成四組六位元,每組變成一個字元。這是四比三的固定比例,也就是多出約 33%,而且這還沒算上填充和換行。
Base64 算是一種加密嗎?
不是,而把它當成加密正是關於它最常見的誤解。這裡沒有金鑰,也沒有任何祕密:任何人一步就能解開一段 Base64,包括本頁面。它只是讓資料躲過隨意的一瞥,以及躲過那些吃不下原始位元組的軟體,僅此而已。內容若需要保護,請先加密,若傳輸要求文字,再把密文做 Base64。
標準 Base64 和 URL 安全 Base64 有什麼區別?
差別就在兩個字元。標準 Base64 用加號和斜線表示 62 和 63,而這兩個字元在 URL 裡本來就有含義,出現在其中會被百分號編碼。URL 安全的變體把它們換成連字號和底線。本頁輸出的是標準字元集;若你需要 URL 安全形式,事後把這兩個字元替換掉即可。
該把圖片以 Base64 內嵌進 CSS 嗎?
有時值得,前提是圖片非常小。內嵌省下一次請求,這在過去意義重大;但它也讓圖片大出約三分之一,使其無法與承載它的檔案分開快取,並且要等整塊資料解析完,那份樣式表才算就緒。大致的界線是:幾百位元組的圖示划算,超過兩三千位元組就很少划算。在 HTTP/2 和 HTTP/3 下,省下的這一次請求遠不如從前值錢。