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よりエンコーディングの最大長を返します。
Trackback URL
Leave a comment
Comments