當前位置: 首頁>>編程語言>>正文


Go語言教程:Base64編碼

返回Go語言教程首頁

概念簡介

Go語言提供內建的 base64 編解碼支持。

例程代碼


package main

// 這個語法引入了 `encoding/base64` 包並使用名稱 `b64`
// 代替默認的 `base64`。這樣可以節省點空間。
import b64 "encoding/base64"
import "fmt"

func main() {

    // 這是將要編解碼的字符串。
    data := "abc123!?$*&()'-=@~"

    // Go 同時支持標準的和 URL 兼容的 base64 格式。編碼需要
    // 使用 `[]byte` 類型的參數,所以要將字符串轉成此類型。
    sEnc := b64.StdEncoding.EncodeToString([]byte(data))
    fmt.Println(sEnc)

    // 解碼可能會返回錯誤,如果不確定輸入信息格式是否正確,
    // 那麽,你就需要進行錯誤檢查了。
    sDec, _ := b64.StdEncoding.DecodeString(sEnc)
    fmt.Println(string(sDec))
    fmt.Println()

    // 使用 URL 兼容的 base64 格式進行編解碼。
    uEnc := b64.URLEncoding.EncodeToString([]byte(data))
    fmt.Println(uEnc)
    uDec, _ := b64.URLEncoding.DecodeString(uEnc)
    fmt.Println(string(uDec))
}

執行&輸出


# 標準 base64 編碼和 URL 兼容 base64 編碼的編碼字符串存在
# 稍許不同(後綴為 `+` 和 `-`),但是兩者都可以正確解碼為
# 原始字符串。
$ go run base64-encoding.go
YWJjMTIzIT8kKiYoKSctPUB+
abc123!?$*&()'-=@~
YWJjMTIzIT8kKiYoKSctPUB-
abc123!?$*&()'-=@~

課程導航

學習上一篇:Go語言教程:SHA1散列    學習下一篇:Go語言教程:讀文件

相關資料

本例程github源代碼:https://github.com/xg-wang/gobyexample/tree/master/examples/base64-encoding

Go語言Base64編碼

本文由《純淨天空》出品。文章地址: https://vimsky.com/zh-tw/article/4107.html,未經允許,請勿轉載。