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