]> Cypherpunks repositories - gostls13.git/commitdiff
encoding/base64: add examples for Encode/Decode
author180909 <wjh180909@gmail.com>
Wed, 8 Sep 2021 16:32:03 +0000 (00:32 +0800)
committerDaniel Martí <mvdan@mvdan.cc>
Tue, 19 Oct 2021 08:44:22 +0000 (08:44 +0000)
Fixes #37595

Change-Id: I83e5f6105748a0a9238322a4f7ec4b0bbf61a263
Reviewed-on: https://go-review.googlesource.com/c/go/+/348394
Reviewed-by: Daniel Martí <mvdan@mvdan.cc>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Trust: Daniel Martí <mvdan@mvdan.cc>
Trust: Cherry Mui <cherryyz@google.com>

src/encoding/base64/example_test.go

index 73f119ac5e549c945e97bfd0d5144bad22855b0a..61a3adc5adfae14026db29dbba460dc0a9e3eb9c 100644 (file)
@@ -35,6 +35,15 @@ func ExampleEncoding_EncodeToString() {
        // YW55ICsgb2xkICYgZGF0YQ==
 }
 
+func ExampleEncoding_Encode() {
+       data := []byte("Hello, world!")
+       dst := make([]byte, base64.StdEncoding.EncodedLen(len(data)))
+       base64.StdEncoding.Encode(dst, data)
+       fmt.Println(string(dst))
+       // Output:
+       // SGVsbG8sIHdvcmxkIQ==
+}
+
 func ExampleEncoding_DecodeString() {
        str := "c29tZSBkYXRhIHdpdGggACBhbmQg77u/"
        data, err := base64.StdEncoding.DecodeString(str)
@@ -47,6 +56,20 @@ func ExampleEncoding_DecodeString() {
        // "some data with \x00 and \ufeff"
 }
 
+func ExampleEncoding_Decode() {
+       str := "SGVsbG8sIHdvcmxkIQ=="
+       dst := make([]byte, base64.StdEncoding.DecodedLen(len(str)))
+       n, err := base64.StdEncoding.Decode(dst, []byte(str))
+       if err != nil {
+               fmt.Println("decode error:", err)
+               return
+       }
+       dst = dst[:n]
+       fmt.Printf("%q\n", dst)
+       // Output:
+       // "Hello, world!"
+}
+
 func ExampleNewEncoder() {
        input := []byte("foo\x00bar")
        encoder := base64.NewEncoder(base64.StdEncoding, os.Stdout)