Функция base64.NewEncoder
Функция base64.NewEncoder создает новый кодировщик Base64,
который принимает два параметра: схему кодирования и поток вывода.
В первый параметр передается одна из констант, определяющих схему
кодирования (например, StdEncoding или URLEncoding),
а во второй параметр передается объект, реализующий интерфейс
io.Writer, в который будут записываться закодированные данные.
Функция возвращает указатель на io.WriteCloser, который
необходимо закрыть после завершения записи для корректного
завершения кодирования.
Синтаксис
base64.NewEncoder(enc *base64.Encoding, w io.Writer) io.WriteCloser
Пример
Давайте закодируем строку 'Hello, World!' в Base64 и запишем
результат в буфер:
package main
import (
"bytes"
"encoding/base64"
"fmt"
)
func main() {
var buf bytes.Buffer
encoder := base64.NewEncoder(base64.StdEncoding, &buf)
encoder.Write([]byte("Hello, World!"))
encoder.Close()
fmt.Println(buf.String())
}
Результат выполнения кода:
"SGVsbG8sIFdvcmxkIQ=="
Пример
Давайте закодируем строку '12345' с использованием
URL-безопасной схемы кодирования:
package main
import (
"bytes"
"encoding/base64"
"fmt"
)
func main() {
var buf bytes.Buffer
encoder := base64.NewEncoder(base64.URLEncoding, &buf)
encoder.Write([]byte("12345"))
encoder.Close()
fmt.Println(buf.String())
}
Результат выполнения кода:
"MTIzNDU="
Пример
Давайте закодируем строку 'data' с использованием
Raw-кодирования без символа заполнения:
package main
import (
"bytes"
"encoding/base64"
"fmt"
)
func main() {
var buf bytes.Buffer
encoder := base64.NewEncoder(base64.RawStdEncoding, &buf)
encoder.Write([]byte("data"))
encoder.Close()
fmt.Println(buf.String())
}
Результат выполнения кода:
"ZGF0YQ=="
Смотрите также
-
функцию
base64.StdEncoding,
которая предоставляет стандартную схему кодирования Base64 -
функцию
base64.URLEncoding,
которая предоставляет URL-безопасную схему кодирования -
функцию
base64.Encoding.EncodeToString,
которая кодирует данные в строку Base64 -
функцию
base64.NewDecoder,
которая создает декодер для декодирования данных из Base64