Introducción
Este laboratorio tiene como objetivo probar sus conocimientos de codificación base64 en Golang.
This tutorial is from open-source community. Access the source code
💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí
Este laboratorio tiene como objetivo probar sus conocimientos de codificación base64 en Golang.
Se te pide escribir un programa en Golang que codifique y decodifique una cadena dada utilizando tanto la codificación base64 estándar como la compatible con URL.
encoding/base64
con el nombre b64
en lugar del nombre predeterminado base64
.## La cadena se codifica en valores ligeramente diferentes con los
## codificadores base64 estándar y de URL (el `+` final vs `-`)
## pero ambas se decodifican a la cadena original como se desea.
A continuación está el código completo:
// Go proporciona soporte integrado para la [codificación/decodificación base64
// ](https://en.wikipedia.org/wiki/Base64).
package main
// Esta sintaxis importa el paquete `encoding/base64` con
// el nombre `b64` en lugar del nombre predeterminado `base64`. Ahorrará
// un poco de espacio más adelante.
import (
b64 "encoding/base64"
"fmt"
)
func main() {
// Aquí está la `string` que codificaremos/decodificaremos.
data := "abc123!?$*&()'-=@~"
// Go admite tanto la codificación base64 estándar como la compatible con URL.
// Aquí está cómo codificar utilizando el codificador estándar. El codificador
// requiere un `[]byte` por lo que convertimos nuestra `string` a ese tipo.
sEnc := b64.StdEncoding.EncodeToString([]byte(data))
fmt.Println(sEnc)
// La decodificación puede devolver un error, que puedes comprobar
// si no sabes de antemano que la entrada sea bien formada.
sDec, _ := b64.StdEncoding.DecodeString(sEnc)
fmt.Println(string(sDec))
fmt.Println()
// Esto codifica/decodifica utilizando un formato base64 compatible con URL.
uEnc := b64.URLEncoding.EncodeToString([]byte(data))
fmt.Println(uEnc)
uDec, _ := b64.URLEncoding.DecodeString(uEnc)
fmt.Println(string(uDec))
}
En este laboratorio, aprendiste cómo codificar y decodificar una cadena dada utilizando tanto la codificación base64 estándar como la compatible con URL en Golang.