サーチ…


構文

  • func(enc * base64.Encoding)Encode(dst、src [] byte)
  • func(enc * base64.Encoding)デコード(dst、src []バイト)(n int、エラーエラー)
  • func(enc * base64.Encoding)EncodeToString(src [] byte)string
  • func(enc * base64.Encoding)DecodeString(s string)([]バイト、エラー)

備考

encoding/base64パッケージには、 組み込みのエンコーダがいくつか含まれています。このドキュメントの例のほとんどはbase64.StdEncodingを使用しますが、任意のエンコーダ( URLEncodingRawStdEncodign 、独自のカスタムエンコーダなど)を使用できます。

エンコーディング

const foobar = `foo bar`
encoding := base64.StdEncoding
encodedFooBar := make([]byte, encoding.EncodedLen(len(foobar)))
encoding.Encode(encodedFooBar, []byte(foobar))
fmt.Printf("%s", encodedFooBar)
// Output: Zm9vIGJhcg==

遊び場

文字列へのエンコーディング

str := base64.StdEncoding.EncodeToString([]byte(`foo bar`))
fmt.Println(str)
// Output: Zm9vIGJhcg==

遊び場

デコード

encoding := base64.StdEncoding
data := []byte(`Zm9vIGJhcg==`)
decoded := make([]byte, encoding.DecodedLen(len(data)))
n, err := encoding.Decode(decoded, data)
if err != nil {
    log.Fatal(err)
}

// Because we don't know the length of the data that is encoded
// (only the max length), we need to trim the buffer to whatever
// the actual length of the decoded data was.
decoded = decoded[:n]

fmt.Printf("`%s`", decoded)
// Output: `foo bar`

遊び場

ストリングのデコード

decoded, err := base64.StdEncoding.DecodeString(`biws`)
if err != nil {
    log.Fatal(err)
}

fmt.Printf("%s", decoded)
// Output: n,,

遊び場



Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow