In this source code example, we will demonstrate how to use base64.StdEncoding to encode and decode a string in Golang.
Golang provides built-in support for base64 encoding/decoding in the package encoding/base64.
Golang StdEncoding Encoding and Decoding Example
Here is an example of encoding and then decoding the string, “source code examples” using base64 encoding with StdEncoding.
package main
import (
"encoding/base64"
"fmt"
)
func main() {
// String to encode
str := "Source code examples"
// base64.StdEncoding: Standard encoding with padding
// It requires a byte slice so we cast the string to []byte
encodedStr := base64.StdEncoding.EncodeToString([]byte(str))
fmt.Println("Encoded:", encodedStr)
// Decoding may return an error, in case the input is not well formed
decodedStr, err := base64.StdEncoding.DecodeString(encodedStr)
if err != nil {
panic("malformed input")
}
fmt.Println("Decoded:", string(decodedStr))
}
Output:
Encoded: U291cmNlIGNvZGUgZXhhbXBsZXM= Decoded: Source code examples