Encode and Decode Strings using Base 64

· 140 words · 1 minute read

The example below shows to how to encode and then subsequently decode a string using base 64. Doing this has many uses, one of which to safely encode byte data in structures like JSON.

We use the encoding/base64 package to do this, which takes in and returns a byte array into it’s EncodeToString and DecodeString methods. These functions differ in the fact that only the decode returns an error you will need to handle.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package main

import (
	"encoding/base64"
	"fmt"
)

func main() {

	myString := "This is golangcode.com testing base 64!"

	// Encode
	encodedString := base64.StdEncoding.EncodeToString([]byte(myString))
	fmt.Printf("Encoded: %s\n", encodedString)

	// Decode
	raw, err := base64.StdEncoding.DecodeString(encodedString)
	if err != nil {
		panic(err)
	}

	fmt.Printf("Decoded: %s\n", raw)
}

base64 encoding and decoding in go

Image of Author Edd Turtle

Author:  Edd Turtle

Edd is the Lead Developer at Hoowla, a prop-tech startup, where he spends much of his time working on production-ready Go and PHP code. He loves coding, but also enjoys cycling and camping in his spare time.

See something which isn't right? You can contribute to this page on GitHub or just let us know in the comments below - Thanks for reading!