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エンコーディングとして一般的に知られているものにはRFC 4648、MIME (RFC 2045)、PEM (RFC 1421)があります。RFC 4648には+と/の代わりに-と_を使用する非標準のエンコーディングも定義されています。

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バイト長の入力バッファをエンコードしたときのバイト数を返します。