|
Go poskytuje zabudovanou podporu pro base64 kódování/dekódování. |
|
package main
|
|
|
Tato syntaxe importuje balíček |
import b64 "encoding/base64"
import "fmt"
|
func main() {
|
|
|
Tady je |
data := "abc123!?$*&()'-=@~"
|
|
Go podporuje standardní i URL-kompatibilní
base64. Tady je jak zakódovat s použitím
standardního enkóderu. Enkóder vyžaduje |
sEnc := b64.StdEncoding.EncodeToString([]byte(data))
fmt.Println(sEnc)
|
|
Dekódování může vrátit chybu, kterou můžeme zkontrolovat, pokud už nevíš že je vstup dobře naformátovaný. |
sDec, _ := b64.StdEncoding.DecodeString(sEnc)
fmt.Println(string(sDec))
fmt.Println()
|
|
Toto kóduje/dekóduje s použitím URL-kompatibilního base64 formátu. |
uEnc := b64.URLEncoding.EncodeToString([]byte(data))
fmt.Println(uEnc)
uDec, _ := b64.URLEncoding.DecodeString(uEnc)
fmt.Println(string(uDec))
}
|
|
Řetězec kóduje do lehce odlišných hodnot u standarního
a URL base64 enkodóru (koncové |
$ go run base64-encoding.go
YWJjMTIzIT8kKiYoKSctPUB+
abc123!?$*&()'-=@~
|
YWJjMTIzIT8kKiYoKSctPUB-
abc123!?$*&()'-=@~
|
Další příklad: Čtení souborů.