Introdução
Este laboratório tem como objetivo testar seus conhecimentos sobre a codificação base64 em Golang.
This tutorial is from open-source community. Access the source code
Este laboratório tem como objetivo testar seus conhecimentos sobre a codificação base64 em Golang.
Você deve escrever um programa Golang que codifica e decodifica uma determinada string usando a codificação base64 padrão e compatível com URL.
encoding/base64 com o nome b64 em vez do padrão base64.## A string é codificada em valores ligeiramente diferentes com os
## codificadores base64 padrão e URL (trailing `+` vs `-`)
## mas ambos decodificam para a string original como desejado.
Aqui está o código completo:
// Go fornece suporte embutido para [base64
// codificação/decodificação](https://en.wikipedia.org/wiki/Base64).
package main
// Esta sintaxe importa o pacote `encoding/base64` com
// o nome `b64` em vez do padrão `base64`. Isso irá
// nos poupar algum espaço abaixo.
import (
b64 "encoding/base64"
"fmt"
)
func main() {
// Aqui está a `string` que vamos codificar/decodificar.
data := "abc123!?$*&()'-=@~"
// Go suporta base64 padrão e compatível com URL
// base64. Veja como codificar usando o padrão
// codificador. O codificador requer um `[]byte` então nós
// convertemos nossa `string` para esse tipo.
sEnc := b64.StdEncoding.EncodeToString([]byte(data))
fmt.Println(sEnc)
// A decodificação pode retornar um erro, que você pode verificar
// se você já não sabe que a entrada é
// bem formada.
sDec, _ := b64.StdEncoding.DecodeString(sEnc)
fmt.Println(string(sDec))
fmt.Println()
// Isso codifica/decodifica usando um base64 compatível com URL
// formato.
uEnc := b64.URLEncoding.EncodeToString([]byte(data))
fmt.Println(uEnc)
uDec, _ := b64.URLEncoding.DecodeString(uEnc)
fmt.Println(string(uDec))
}
Neste laboratório, você aprendeu como codificar e decodificar uma determinada string usando a codificação base64 padrão e compatível com URL em Golang.