Go 標準庫之 encoding/base64 (編解碼)

1. 簡要概述

Base64 是網絡上最常見的用於傳輸 8Bit 字節碼的編碼方式之一, Base64 就是一種基於 64 個可打印字符來表示二進制數據的方法。

Base64 編碼是從二進制到字符的過程,可用於在 HTTP 環境下傳遞較長的標識信息。採用 Base64 編碼具有不可讀性,需要解碼後才能閱讀。

2. 代碼示例

package main

import (
	"encoding/base64"
	"fmt"
)

func main() {
	originalByte := []byte("hello world")

	// base64 編碼
	encodeString := base64.StdEncoding.EncodeToString(originalByte)
	fmt.Println("標準編碼結果:", encodeString)

	// base64 解碼
	decodeBytes, err := base64.StdEncoding.DecodeString(encodeString)
	if err != nil {
		fmt.Println(err)
	}
	fmt.Println("標準解碼結果:", string(decodeBytes))
	fmt.Println("--------------------------------------------------")

	// 在 url 中使用時,應該用 URLEncoding 編碼
	urlString := base64.URLEncoding.EncodeToString([]byte(originalByte))
	fmt.Println("url 編碼結果:", urlString)

	// 解碼
	urlByte, err := base64.URLEncoding.DecodeString(urlString)
	if err != nil {
		fmt.Println(err)
	}
	fmt.Println("url 解碼結果:", string(urlByte))

}

輸出結果:

標準編碼結果: aGVsbG8gd29ybGQ=
標準解碼結果: hello world
--------------------------------------------------
url 編碼結果: aGVsbG8gd29ybGQ=
url 解碼結果: hello world
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章