package main import ( "encoding/base32" "encoding/base64" "encoding/hex" "fmt" "log" ) func base64Demo() { msg := "Hello, 世界" encoded := base64.StdEncoding.EncodeToString([]byte(msg)) fmt.Println(encoded) decoded, err := base64.StdEncoding.DecodeString(encoded) if err != nil { fmt.Println("decode error:", err) return } fmt.Println(string(decoded)) } func base32Demo() { str := "JBSWY3DPFQQHO33SNRSCC===" dst := make([]byte, base32.StdEncoding.DecodedLen(len(str))) n, err := base32.StdEncoding.Decode(dst, []byte(str)) if err != nil { fmt.Println("decode error:", err) return } dst = dst[:n] fmt.Printf("%q\n", dst) } func hexDemo() { const s = "48656c6c6f20476f7068657221" decoded, err := hex.DecodeString(s) if err != nil { log.Fatal(err) } fmt.Printf("%s\n", decoded) } func main() { base64Demo() base32Demo() hexDemo() }