Go имеет встроенную поддержку base64 кодирования и декодирования. |
|
package main
|
|
Этот синтаксис импортирует пакет |
import (
b64 "encoding/base64"
"fmt"
)
|
func main() {
|
|
|
data := "abc123!?$*&()'-=@~"
|
Go поддерживает оба стандарта и URL-совместимого
base64. Кодируем, используя стандартнай кодировщик.
Кодировщик требует |
sEnc := b64.StdEncoding.EncodeToString([]byte(data))
fmt.Println(sEnc)
|
Декодирование может вернуть ошибку, которую можно проверить, если вы не уверены в корректности входных данных. |
sDec, _ := b64.StdEncoding.DecodeString(sEnc)
fmt.Println(string(sDec))
fmt.Println()
|
Это кодирование/декодирование использует URL-совместимый base64 формат. |
uEnc := b64.URLEncoding.EncodeToString([]byte(data))
fmt.Println(uEnc)
uDec, _ := b64.URLEncoding.DecodeString(uEnc)
fmt.Println(string(uDec))
}
|
Строка кодируется в слегка отличающиеся значения с
помощью стандартных и URL-совместимые base64
( |
$ go run base64-encoding.go
YWJjMTIzIT8kKiYoKSctPUB+
abc123!?$*&()'-=@~
|
YWJjMTIzIT8kKiYoKSctPUB-
abc123!?$*&()'-=@~
|
Следующий пример: Чтение файлов (Reading Files).