亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

directory search
archive archive/tar archive/zip bufio bufio(緩存) builtin builtin(內(nèi)置包) bytes bytes(包字節(jié)) compress compress/bzip2(壓縮/bzip2) compress/flate(壓縮/flate) compress/gzip(壓縮/gzip) compress/lzw(壓縮/lzw) compress/zlib(壓縮/zlib) container container/heap(容器數(shù)據(jù)結(jié)構(gòu)heap) container/list(容器數(shù)據(jù)結(jié)構(gòu)list) container/ring(容器數(shù)據(jù)結(jié)構(gòu)ring) context context(上下文) crypto crypto(加密) crypto/aes(加密/aes) crypto/cipher(加密/cipher) crypto/des(加密/des) crypto/dsa(加密/dsa) crypto/ecdsa(加密/ecdsa) crypto/elliptic(加密/elliptic) crypto/hmac(加密/hmac) crypto/md5(加密/md5) crypto/rand(加密/rand) crypto/rc4(加密/rc4) crypto/rsa(加密/rsa) crypto/sha1(加密/sha1) crypto/sha256(加密/sha256) crypto/sha512(加密/sha512) crypto/subtle(加密/subtle) crypto/tls(加密/tls) crypto/x509(加密/x509) crypto/x509/pkix(加密/x509/pkix) database database/sql(數(shù)據(jù)庫/sql) database/sql/driver(數(shù)據(jù)庫/sql/driver) debug debug/dwarf(調(diào)試/dwarf) debug/elf(調(diào)試/elf) debug/gosym(調(diào)試/gosym) debug/macho(調(diào)試/macho) debug/pe(調(diào)試/pe) debug/plan9obj(調(diào)試/plan9obj) encoding encoding(編碼) encoding/ascii85(編碼/ascii85) encoding/asn1(編碼/asn1) encoding/base32(編碼/base32) encoding/base64(編碼/base64) encoding/binary(編碼/binary) encoding/csv(編碼/csv) encoding/gob(編碼/gob) encoding/hex(編碼/hex) encoding/json(編碼/json) encoding/pem(編碼/pem) encoding/xml(編碼/xml) errors errors(錯誤) expvar expvar flag flag(命令行參數(shù)解析flag包) fmt fmt go go/ast(抽象語法樹) go/build go/constant(常量) go/doc(文檔) go/format(格式) go/importer go/parser go/printer go/scanner(掃描儀) go/token(令牌) go/types(類型) hash hash(散列) hash/adler32 hash/crc32 hash/crc64 hash/fnv html html html/template(模板) image image(圖像) image/color(顏色) image/color/palette(調(diào)色板) image/draw(繪圖) image/gif image/jpeg image/png index index/suffixarray io io io/ioutil log log log/syslog(日志系統(tǒng)) math math math/big math/big math/bits math/bits math/cmplx math/cmplx math/rand math/rand mime mime mime/multipart(多部分) mime/quotedprintable net net net/http net/http net/http/cgi net/http/cookiejar net/http/fcgi net/http/httptest net/http/httptrace net/http/httputil net/http/internal net/http/pprof net/mail net/mail net/rpc net/rpc net/rpc/jsonrpc net/smtp net/smtp net/textproto net/textproto net/url net/url os os os/exec os/signal os/user path path path/filepath(文件路徑) plugin plugin(插件) reflect reflect(反射) regexp regexp(正則表達(dá)式) regexp/syntax runtime runtime(運(yùn)行時) runtime/debug(調(diào)試) runtime/internal/sys runtime/pprof runtime/race(競爭) runtime/trace(執(zhí)行追蹤器) sort sort(排序算法) strconv strconv(轉(zhuǎn)換) strings strings(字符串) sync sync(同步) sync/atomic(原子操作) syscall syscall(系統(tǒng)調(diào)用) testing testing(測試) testing/iotest testing/quick text text/scanner(掃描文本) text/tabwriter text/template(定義模板) text/template/parse time time(時間戳) unicode unicode unicode/utf16 unicode/utf8 unsafe unsafe
characters

  • import "encoding/base64"

  • Overview

  • Index

  • Examples

概觀

包base64實現(xiàn)了RFC 4648規(guī)定的base64編碼。

package mainimport ("encoding/base64""fmt")func main() {
	msg := "Hello, 世界"
	encoded := base64.StdEncoding.EncodeToString([]byte(msg))
	fmt.Println(encoded)
	decoded, err := base64.StdEncoding.DecodeString(encoded)if err != nil {
		fmt.Println("decode error:", err)return}
	fmt.Println(string(decoded))}

Index

  • Constants

  • Variables

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

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

  • type CorruptInputError

  • func (e CorruptInputError) Error() string

  • type Encoding

  • func NewEncoding(encoder string) *Encoding

  • func (enc *Encoding) Decode(dst, src []byte) (n int, err error)

  • func (enc *Encoding) DecodeString(s string) ([]byte, error)

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

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

  • func (enc *Encoding) EncodeToString(src []byte) string

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

  • func (enc Encoding) Strict() *Encoding

  • func (enc Encoding) WithPadding(padding rune) *Encoding

例子

Package Encoding.DecodeString Encoding.EncodeToString NewEncoder

包文件

base64.go

常量

const (
        StdPadding rune = '=' // Standard padding character
        NoPadding  rune = -1  // No padding)

變量

RawStdEncoding是RFC 4648第3.2節(jié)中定義的標(biāo)準(zhǔn)原始未加標(biāo)簽的base64編碼。這與StdEncoding相同,但省略了填充字符。

var RawStdEncoding = StdEncoding.WithPadding(NoPadding)

RawURLEncoding是在RFC 4648中定義的無襯墊的備用base64編碼。它通常用于URL和文件名。這與URLEncoding相同,但省略了填充字符。

var RawURLEncoding = URLEncoding.WithPadding(NoPadding)

StdEncoding是RFC 4648中定義的標(biāo)準(zhǔn)base64編碼。

var StdEncoding = NewEncoding(encodeStd)

URLEncoding是RFC 4648中定義的備用base64編碼。它通常用于URL和文件名。

var URLEncoding = NewEncoding(encodeURL)

func NewDecoder

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

NewDecoder構(gòu)造一個新的base64流解碼器。

func NewEncoder

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

NewEncoder返回一個新的base64流編碼器。寫入返回的作者的數(shù)據(jù)將使用enc進(jìn)行編碼,然后寫入w。Base64編碼以4字節(jié)塊運(yùn)行; 寫完后,調(diào)用者必須關(guān)閉返回的編碼器以刷新任何部分寫入的塊。

package mainimport ("encoding/base64""os")func main() {
	input := []byte("foo\x00bar")
	encoder := base64.NewEncoder(base64.StdEncoding, os.Stdout)
	encoder.Write(input)// Must close the encoder when finished to flush any partial blocks.// If you comment out the following line, the last partial block "r"// won't be encoded.
	encoder.Close()}

type CorruptInputError

type CorruptInputError int64

func (CorruptInputError) Error

func (e CorruptInputError) Error() string

type Encoding

編碼是基數(shù)為64的編碼/解碼方案,由64個字符的字母表定義。最常見的編碼是RFC 4648中定義的“base64”編碼,用于MIME (RFC 2045)和PEM(RFC 1421)。RFC 4648還定義了一種替代編碼,這是使用 - 和_代替+和/的標(biāo)準(zhǔn)編碼。

type Encoding struct {        // contains filtered or unexported fields}

func NewEncoding

func NewEncoding(encoder string) *Encoding

NewEncoding返回由給定字母表定義的新填充編碼,該編碼必須是不包含填充字符或CR / LF('\ r','\ n')的64字節(jié)字符串。生成的編碼使用默認(rèn)填充字符('='),可以通過WithPadding更改或禁用該字符。

func (*Encoding) Decode

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

解碼使用enc編碼解碼src。它至多將DecodedLen(len(src))字節(jié)寫入dst并返回寫入的字節(jié)數(shù)。如果src包含無效的base64數(shù)據(jù),它將返回成功寫入的字節(jié)數(shù)和CorruptInputError。換行符(\ r和\ n)被忽略。

func (*Encoding) DecodeString

func (enc *Encoding) DecodeString(s string) ([]byte, error)

DecodeString返回由base64字符串s表示的字節(jié)。

package mainimport ("encoding/base64""fmt")func main() {
	str := "c29tZSBkYXRhIHdpdGggACBhbmQg77u/"
	data, err := base64.StdEncoding.DecodeString(str)if err != nil {
		fmt.Println("error:", err)return}
	fmt.Printf("%q\n", data)}

func (*Encoding) DecodedLen

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

DecodedLen返回對應(yīng)于n個字節(jié)的base64編碼數(shù)據(jù)的解碼數(shù)據(jù)的最大字節(jié)長度。

func (*Encoding) Encode

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

使用編碼enc對編碼src進(jìn)行編碼,將EncodedLen字節(jié)寫入dst。

編碼將輸出填充到4個字節(jié)的倍數(shù),因此Encode不適用于大數(shù)據(jù)流的各個塊。改用NewEncoder()。

func (*Encoding) EncodeToString

func (enc *Encoding) EncodeToString(src []byte) string

EncodeToString返回src的base64編碼。

package mainimport ("encoding/base64""fmt")func main() {
	data := []byte("any + old & data")
	str := base64.StdEncoding.EncodeToString(data)
	fmt.Println(str)}

func (*Encoding) EncodedLen

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

EncodedLen返回長度為n的輸入緩沖區(qū)的base64編碼的字節(jié)長度。

func (Encoding) Strict

func (enc Encoding) Strict() *Encoding

除嚴(yán)格解碼啟用之外,嚴(yán)格創(chuàng)建與enc相同的新編碼。在這種模式下,解碼器要求尾部填充位為零,如RFC 4648第3.5節(jié)所述。

func (Encoding) WithPadding

func (enc Encoding) WithPadding(padding rune) *Encoding

WithPadding創(chuàng)建一個與enc相同的新編碼,除了指定的填充字符或NoPadding禁用填充。填充字符不能是'\r'或'\n',不能包含在編碼的字母表中,并且必須是等于或低于'\xff'的符文。

Previous article: Next article: