1// Copyright 2012 The Go Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style 3// license that can be found in the LICENSE file. 4 5// Keep in sync with ../base64/example_test.go. 6 7package base32_test 8 9import ( 10 "encoding/base32" 11 "fmt" 12 "os" 13) 14 15func ExampleEncoding_EncodeToString() { 16 data := []byte("any + old & data") 17 str := base32.StdEncoding.EncodeToString(data) 18 fmt.Println(str) 19 // Output: 20 // MFXHSIBLEBXWYZBAEYQGIYLUME====== 21} 22 23func ExampleEncoding_Encode() { 24 data := []byte("Hello, world!") 25 dst := make([]byte, base32.StdEncoding.EncodedLen(len(data))) 26 base32.StdEncoding.Encode(dst, data) 27 fmt.Println(string(dst)) 28 // Output: 29 // JBSWY3DPFQQHO33SNRSCC=== 30} 31 32func ExampleEncoding_DecodeString() { 33 str := "ONXW2ZJAMRQXIYJAO5UXI2BAAAQGC3TEEDX3XPY=" 34 data, err := base32.StdEncoding.DecodeString(str) 35 if err != nil { 36 fmt.Println("error:", err) 37 return 38 } 39 fmt.Printf("%q\n", data) 40 // Output: 41 // "some data with \x00 and \ufeff" 42} 43 44func ExampleEncoding_Decode() { 45 str := "JBSWY3DPFQQHO33SNRSCC===" 46 dst := make([]byte, base32.StdEncoding.DecodedLen(len(str))) 47 n, err := base32.StdEncoding.Decode(dst, []byte(str)) 48 if err != nil { 49 fmt.Println("decode error:", err) 50 return 51 } 52 dst = dst[:n] 53 fmt.Printf("%q\n", dst) 54 // Output: 55 // "Hello, world!" 56} 57 58func ExampleNewEncoder() { 59 input := []byte("foo\x00bar") 60 encoder := base32.NewEncoder(base32.StdEncoding, os.Stdout) 61 encoder.Write(input) 62 // Must close the encoder when finished to flush any partial blocks. 63 // If you comment out the following line, the last partial block "r" 64 // won't be encoded. 65 encoder.Close() 66 // Output: 67 // MZXW6ADCMFZA==== 68} 69