Go offre il supporto built-in per la codifica base64. |
|
package main
|
|
Con questa sintassi si imposta il pacchetto
|
import b64 "encoding/base64"
import "fmt"
|
func main() {
|
|
Ecco una |
data := "abc123!?$*&()'-=@~"
|
Go supporta base64 sia standard che URL-compatible.
Qui si mostra coma utilizzare lo standard encoding.
L’encoder richiede un |
sEnc := b64.StdEncoding.EncodeToString([]byte(data))
fmt.Println(sEnc)
|
Il decoding può restituire un errore, che può essere utile analizzare se non si è sicuri che il valore in input sia una string base64 valida. |
sDec, _ := b64.StdEncoding.DecodeString(sEnc)
fmt.Println(string(sDec))
fmt.Println()
|
Questo codifica/decodifica utilizzando un formato base64 URL-compatible |
uEnc := b64.URLEncoding.EncodeToString([]byte(data))
fmt.Println(uEnc)
uDec, _ := b64.URLEncoding.DecodeString(uEnc)
fmt.Println(string(uDec))
}
|
La stringa viene codificata in un valore differente se si utilizza il formato URL-compatible. Entrambi i valori però decodificano alla stessa stringa |
$ go run base64-encoding.go
YWJjMTIzIT8kKiYoKSctPUB+
abc123!?$*&()'-=@~
|
YWJjMTIzIT8kKiYoKSctPUB-
abc123!?$*&()'-=@~
|
Prossimo esempio: Leggere File.