summaryrefslogtreecommitdiff
path: root/base64/base64.go
blob: 1f97c236601d7d03189637523ccbc2b53d8282c2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
// Package base64 contains Base64 encoding/decoding functions
package base64

import (
	b64 "encoding/base64"
)

// Encode - Encode data in base64 format
func Encode(in []byte) (string, error) {
	return b64.StdEncoding.EncodeToString(in), nil
}

// Decode - Decode a base64-encoded string
func Decode(in string) ([]byte, error) {
	o, err := b64.StdEncoding.DecodeString(in)
	if err != nil {
		// maybe it's in the URL variant?
		o, err = b64.URLEncoding.DecodeString(in)
		if err != nil {
			// ok, just give up...
			return nil, err
		}
	}
	return o, nil
}