清華尹成帶你實戰GO案例(6)Go Base64編碼

尹成發表於2018-05-21
Go Base64編碼
Go提供了對base64編碼和解碼的內建支援
package main
// 這種匯入包的語法將預設的base64起了一個別名b64,這樣
// 我們在下面就可以直接使用b64表示這個包,省點輸入量
import b64 "encoding/base64"
import "fmt"
func main() {
// 這裡是我們用來演示編碼和解碼的字串
data := "abc123!?$*&()'-=@~"
// Go支援標準的和相容URL的base64編碼。
// 我們這裡使用標準的base64編碼,這個
// 函式需要一個`[]byte`引數,所以將這
// 個字串轉換為位元組陣列
sEnc := b64.StdEncoding.EncodeToString([]byte(data))
fmt.Println(sEnc)
// 解碼一個base64編碼可能返回一個錯誤,
// 如果你不知道輸入是否是正確的base64
// 編碼,你需要檢測一些解碼錯誤
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))
}


執行結果
YWJjMTIzIT8kKiYoKSctPUB+
abc123!?$*&()'-=@~
YWJjMTIzIT8kKiYoKSctPUB-
abc123!?$*&()'-=@~
這兩種方法都將原資料編碼為base64編碼,區別在於標準的編碼後面是 + ,而相容URL的編碼方式後面

是 - 。



網址:http://www.qukuailianxueyuan.io/



欲領取造幣技術與全套虛擬機器資料

區塊鏈技術交流QQ群:756146052  備註:CSDN

尹成學院微信:備註:CSDN


相關文章