Go propose un support natif pour l’encodage et le décodage en base64. |
|
package main
|
|
Cette syntaxe importe le package |
import b64 "encoding/base64"
import "fmt"
|
func main() {
|
|
Voici la chaîne que l’on va encoder et décoder. |
data := "abc123!?$*&()'-=@~"
|
Go support à la fois le base64 standard et celui
compatible avec les URLs.
Voici comment encoder avec l’encodeur standard. Il
a besoin d’un |
sEnc := b64.StdEncoding.EncodeToString([]byte(data))
fmt.Println(sEnc)
|
Le décodage peut renvoyer une erreur, que l’on peut vérifier si vous ne savez pas déjà si l’entrée est correctement formée. |
sDec, _ := b64.StdEncoding.DecodeString(sEnc)
fmt.Println(string(sDec))
fmt.Println()
|
Ceci encode et décode selone le format base64 compatible avec les URLs. |
uEnc := b64.URLEncoding.EncodeToString([]byte(data))
fmt.Println(uEnc)
uDec, _ := b64.URLEncoding.DecodeString(uEnc)
fmt.Println(string(uDec))
}
|
La chaîne est encodée un peu différente avec les deux
encodeurs ( |
$ go run base64-encoding.go
YWJjMTIzIT8kKiYoKSctPUB+
abc123!?$*&()'-=@~
|
YWJjMTIzIT8kKiYoKSctPUB-
abc123!?$*&()'-=@~
|
Exemple suivant: Lire des fichiers.