操作

免費 Base64 編碼器 – 將文字或資料轉換為 Base64 格式

廣告

Output options

使用我們易於使用的 Base64 編碼工具對您的資料進行編碼。在幾秒鐘內將文字或檔案轉換為 Base64 格式。現在就試試吧!
Table of Contents

Base64 在現代運算與網際網路技術中扮演著關鍵角色。它是跨越多元數位平台的資料傳輸與儲存解決方案的基石。

Base64 編碼被用於 OpenSSL、Kubernetes 秘密、電子郵件應用程式及許多其他技術中。

二進位資料可轉換為 ASCII 字元,如圖片和文件,並安全地透過電子郵件和網址等文字通道傳輸。

SMTP 中繼基於 Base64,因為它設計用於傳輸 7 位元 ASCII 字元以傳送電子郵件附件。

Base64 編碼是一種將二進位資料轉換為 ASCII 字元的技術。它對於透過支援文字的通道傳輸資料(如電子郵件或網址)非常有用。 

它之所以被命名為「Base64」,是因為它使用了 64 種可能的值來表示二進位資料。這表示代表單一 Base64 字元有六個位元(2⁶ = 64)。

本文將說明 base64 編碼的運作方式、如何使用 base64 編碼解碼資料,以及 base64 編碼的一些常見應用。

Base64 編碼的概念可追溯至早期計算時代,當時二進位資料需透過僅支援文字的通道傳輸。 

此技術首次於 1970 年代作為多用途網際網路郵件擴充(Multipurpose Internet Mail Extensions,MIME)規範的一部分被引入,該規範規範了電子郵件及其附件。 

最初,Base64 編碼主要應用於電子郵件系統。隨著網際網路的擴展,對可靠二進位資料安全傳輸方法的需求變得明顯。 

Base64 成為多種網際網路協定不可或缺的一部分,包括 HTTP,用於在網頁應用程式中傳輸影像等資料。

隨著網頁開發的興起及資料密集型應用程式的廣泛使用,Base64 編碼逐漸受到重視。其簡潔與高效促使網路技術被採用,用於直接將圖片嵌入 HTML 與 CSS 檔案等任務,減少伺服器請求數量,並提升網站效能。

多年來,Base64 編碼隨著數位通訊技術演進。其多功能性確保了其持續的相關性,使其成為數位時代資料傳輸、儲存與處理的基本面向。 


Base64 編碼是一種將二進位資料轉換為文字格式的方法,使其適合在處理文字的系統中安全傳輸。在此過程中,每三個位元組(24 位元)的二進位資料會被分組成四個 6 位元區塊。這些 6 位元區塊接著被映射到 64 個 ASCII 字元,包括大寫與小寫字母、數字 0-9,以及「+」和「/」符號。

每個字元代表特定的 6 位元模式。透過結合這些模式,Base64 可以表示任何一組二進位資料序列。如果二進位資料無法被 3 整除,則會在編碼文字末尾加入填充字元,通常是「=」,以確保輸出長度固定。


在需要以簡潔且安全跨系統傳輸的文字格式表示二進位資料的特定場合,使用Base64編碼取代ASCII。以下是為何在某些情況下,Base64優於ASCII的原因:

  1. 二進位資料表示:ASCII 只能表示有限的字元範圍,主要是英文字母、數字和基本符號。而 Base64 則能表示任何二進位資料,包括非文字及特殊字元,因此適合編碼影像、聲音檔案或加密資料。
  2. 緊湊性:Base64 編碼使用更多字元集(64 字元相較於 ASCII 的 128 個)來表示相同數量的資料。這使得二進位資料的表示更為精簡,提升儲存與傳輸效率。
  3. 傳輸安全: 某些通道,尤其是專為文字設計的通道,在傳輸過程中可能會誤解或更改某些 ASCII 控制字元。Base64 編碼確保資料安全通過這些通道,因為它僅使用可列印的 ASCII 字元來表示二進位資料,消除了誤解的風險。
  4. 進位轉文字: Base64 專為將二進位資料轉換為文字格式而設計。雖然 ASCII 主要代表文字字元,但 Base64 擅長處理二進位資訊,在文字表示不足的情境中非常寶貴。
  5. 標準化:Base64 編碼在不同平台與程式語言間廣泛標準化且一致。這種一致性確保任何遵循 Base64 標準的系統都能正確解碼 Base64 編碼的資料,促進互通性。

總結來說,當需要以文字形式準確、高效且安全地表示二進位資料時,特別是在資料完整性、緊湊性與標準化至關重要的情境中,Base64 會被選擇取代 ASCII。


在 Python 中,我們用 'base64' 模組來編碼 base64。讓我們一步步拆解程式碼。

import base64
msg = "Hello world!"
encoded = base64.b64encode(bytes(msg, encoding='utf-8'))
print(encoded.decode('utf-8'))
import base64

程式碼一開始是匯入 base64 模組,該模組提供以 Base64 格式編碼與解碼資料的功能。

msg = "Hello world!"

在這個插圖中,輸入訊息「Hello world!」是我們嘗試以 Base64 格式編碼的範例字串。請隨時修改訊息以符合您的具體需求。

encoded = base64.b64encode(bytes(msg, encoding='utf-8'))

在此行中,bytes() 函式會將 msg 變數值轉換為 UTF-8 編碼的位元組。接著,base64.b64encode() 函式將這些位元組編碼成 Base64 格式。所產生的 Base64 編碼資料會儲存在已編碼變數中。

print(encoded.decode('utf-8'))

最後,將編碼好的 Base64 資料再解碼回 UTF-8 字串,並用 encoded.decode('utf-8') 列印出來。此步驟對於在 Python 程式中顯示或使用該 Base64 資料作為字串非常重要。

當你執行此程式碼時,會輸出輸入字串「Hello world!」的 Base64 表示。這些編碼資料可以透過文字通道傳輸,或儲存在只接受文字資料的資料庫中。

在這個 PHP 範例中,我們探討了 Base64 編碼的概念,這是一種在網頁開發和資料處理中廣泛使用的技術。讓我們一步步拆解程式碼。

<?php
$msg = "Hello world!";
$encoded = base64_encode($msg);
echo $encoded;
?>

在這個 PHP 腳本中,變數 $msg 儲存我們想要編碼的輸入字串「Hello world!」。接著用 base64_encode() 函式將此字串編碼成 Base64 格式,結果則儲存在變數 $encoded


Base64Go(或 Golang)中的編碼非常簡單,這要歸功於內建的「encoding/base64」套件。Base64 編碼在以文字格式表示二進位資料時非常重要,這常用於網頁開發及各種資料傳輸場景。讓我們來探討如何在 Go 中執行 Base64 編碼,並附上詳細說明。

package main

import (
    "encoding/base64"
    "fmt"
)

func main() {
    // The string to be encoded
    message := "Hello, Golang Base64 Encoding!"

    // Convert the string to bytes
    messageBytes := []byte(message)

    // Encode the bytes to Base64
    encodedMessage := base64.StdEncoding.EncodeToString(messageBytes)

    // Print the encoded Base64 string
    fmt.Println(encodedMessage)
}

首先,在你的 Go 程式碼中匯入 'encoding/base64' 套件。這個套件提供 Base64 編碼與解碼的函式。

import (
    "encoding/base64"
    "fmt"
)

在編碼之前,你的字串需要先轉換成位元組切片,因為 Base64 編碼是處理二進位資料的。這個目的可以使用 []byte() 轉換函數。

message := "Hello, Golang Base64 Encoding!"
messageBytes := []byte(message)

在此步驟中,訊息就是你想要編碼的字串。messageBytes 現在儲存輸入字串的位元組表示。

使用 base64。StdEncoding。EncodeToString() 函式將位元組切片編碼成 Base64 字串。StdEncoding 是 Base64 定義的標準編碼方案。

encodedMessage := base64.StdEncoding.EncodeToString(messageBytes)

此時,encodedMessage 儲存產生的 Base64 編碼字串。

最後,你可以列印編碼好的 Base64 字串。

fmt.Println(encodedMessage)

複製上述程式碼並執行你的 Go 程式;它會輸出輸入字串的 Base64 表示。這些編碼資料可用於多種情境,例如將圖片嵌入 HTML 中、傳送 API 或將二進位資料儲存在資料庫中。

透過理解這些步驟,你就能有效地在 Go 應用程式中使用 Base64 編碼。Base64 編碼提供了一種多功能的解決方案,用於處理二進位資料的文字處理,無論是檔案上傳、資料傳輸或密碼學操作。

在 Go 中實作 Base64 編碼,讓你能在文字環境中無縫處理二進位資料,提升應用程式的彈性與互通性。

在本文中,我們了解了 Base64 的歷史、運作方式,以及如何用 PythonPHP 實作 base64 編碼器。

相關工具

常見問題解答

  • Urwa Tools 提供的 Base64 編碼是一款免費的線上工具,能有效編碼資料。
  • 是的,Urwa Tools Base64 Encode 完全免費,且不需額外付費。
  • Urwa Tools Base64 Encode 提供多種資料輸入方式,包括檔案上傳、URL 輸入及手動資料輸入。使用者也可方便地下載編碼後的文字檔案,或複製至剪貼簿。
  • 不,Urwa Tools Base64 Encode 不會限制你的使用。
  • Urwa 工具 Base64 Encode 優先考量資料安全,編碼時不儲存使用者資料;它處理並輸出結果。
  • Urwa Tools 能安全處理資料,是編碼敏感資訊的可靠選擇。
  • Urwa 工具 Base64 Encode 優化了速度與效率,確保編碼任務能快速完成。
  • Urwa Tools Base64 Encode 是一款網頁工具,無需下載或安裝。
  • 是的,它適合行動裝置使用,且可在智慧型手機和平板等多種裝置上使用。
  • 是的,Urwa Tools Base64 Encode 適合各種大小的編碼任務,從小文字到大型檔案皆適用。
  • 是的,Urwa Tools 提供客戶支援,協助您解決使用過程中可能遇到的任何疑問或問題。
  • 首先,請造訪 Urwa Tools 網站,選擇您偏好的輸入方式(檔案、網址或手動輸入),並依照簡單的編碼步驟進行資料編碼。
  • 當然,Urwa Tools 適合個人及專業編碼需求,是多種應用的多功能解決方案。
  • Urwa Tools 以其簡潔、可靠及免費服務脫穎而出,是您所有 Base64 編碼需求的優秀選擇。