|
Go fornece suporte nativo para base64 encoding/decoding. |
|
![]()
package main |
|
|
Esta sintaxe importa o pacote |
import ( b64 "encoding/base64" "fmt" ) |
func main() { |
|
|
Aqui está a |
data := "abc123!?$*&()'-=@~"
|
|
Go suporta tanto padrão quanto base64 compatível
com URL. Aqui está como realizar encode usando o
encoder padrão. O encoder requer |
sEnc := b64.StdEncoding.EncodeToString([]byte(data))
fmt.Println(sEnc)
|
|
Realizar o Decode pode retornar um erro, o qual pode ser checado se ainda não se sabe se o input está bem formatado. |
sDec, _ := b64.StdEncoding.DecodeString(sEnc)
fmt.Println(string(sDec))
fmt.Println()
|
|
Este encode/decode está usando base-64 compatível com URL. |
uEnc := b64.URLEncoding.EncodeToString([]byte(data))
fmt.Println(uEnc)
uDec, _ := b64.URLEncoding.DecodeString(uEnc)
fmt.Println(string(uDec))
}
|
|
As strings resultantes de ambos os métodos de encode,
padrão e compatível com URL, são um pouco diferentes
entre si (variando |
$ go run base64-encoding.go YWJjMTIzIT8kKiYoKSctPUB+ abc123!?$*&()'-=@~ |
YWJjMTIzIT8kKiYoKSctPUB- abc123!?$*&()'-=@~ |
Próximo exemplo: Reading Files.