import "encoding/base64"

RFC 4684で定義されているBase64エンコーディングを実装しています。

パッケージファイル

base64.go

変数

StdEncodingはRFC 4648で定義されている標準的なBase64エンコーディングを表します。

var StdEncoding = NewEncoding(encodeStd)

URLEncodingはRFC 4648で定義されている標準的ではないBase64エンコーディングを表し、URLやファイル名で使われます。

var URLEncoding = NewEncoding(encodeURL)

NewDecoder関数

func NewDecoder(enc *Encoding, r io.Reader) io.Reader

NewDecoderはBase64ストリームデコーダーを作成します。

NewEncoder関数

func NewEncoder(enc *Encoding, w io.Writer) io.WriteCloser

NewEncoderはBase64ストリームエンコーダーを返します。返されるライターへ指定されたencを使用してエンコードしたデータを書き込み、wへも書き込みを行います。Base64エンコーディングは4バイトブロックで動作します。呼び出し元では返されたエンコーダーに対して必ずCloseを呼び出す必要があります。

CorruptInputError型

type CorruptInputError int64

(CorruptInputError) String関数

func (e CorruptInputError) String() string

Encoding型

Encodingは64種類の文字によって定義されている基数64のエンコード、またはデコードを行います。Base64エンコーディングとして一般的に知られているのはMIME (RFC 2045)、PEM (RFC 1421)があります。URLでBase64エンコードした+や/は問題を起こすことがあるので代わりに-や_等を使用することがある。

type Encoding struct {
    // contains unexported fields
}

NewEncoding関数

func NewEncoding(encoder string) *Encoding

NewEncodingは指定されたアルファベットにて定義されているEncodingを返します。指定アルファベットは64バイトの文字列である必要があります。

(*Encoding) Decode関数

func (enc *Encoding) Decode(dst, src []byte) (n int, err os.Error)

Decodeはencを使用してsrcをデコードします。dstへ最大DecodedLen(len(src))バイトをデコードし、書き込んだバイト数を返します。srcに無効なBase64データが含まれていた場合、書き込みに成功したバイト数とCorruptInputErrorを返します。

(*Encoding) DecodedLen関数

func (enc *Encoding) DecodedLen(n int) int

DecodedLenはデコード対象ソースのバイト数nよりデコーディングの最大長を返します。

(*Encoding) Encode関数

func (enc *Encoding) Encode(dst, src []byte)

Encodeはencを使用してsrcをエンコードし、dstへEncodedLen(len(src))バイト書き込みを行います。

エンコーディングは4バイトの倍数になるようにパッド文字を出力しますので、大きなデータストリームの個々のブロックで使用するのは適切ではありません。代わりにNewEncoder()を使用してください。

(*Encoding) EncodedLen関数

func (enc *Encoding) EncodedLen(n int) int

EecodedLenはエンコード対象ソースのバイト数nよりエンコーディングの最大長を返します。