Функция base64.NewEncoder

Функция base64.NewEncoder создает новый кодировщик Base64, который принимает два параметра: схему кодирования и поток вывода. В первый параметр передается одна из констант, определяющих схему кодирования (например, StdEncoding или URLEncoding), а во второй параметр передается объект, реализующий интерфейс io.Writer, в который будут записываться закодированные данные. Функция возвращает указатель на io.WriteCloser, который необходимо закрыть после завершения записи для корректного завершения кодирования.

Синтаксис

gobase64.NewEncoder(enc *base64.Encoding, w io.Writer) io.WriteCloser

Пример

Давайте закодируем строку 'Hello, World!' в Base64 и запишем результат в буфер:

gopackage 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())
}

Результат выполнения кода:

go"SGVsbG8sIFdvcmxkIQ=="

Пример

Давайте закодируем строку '12345' с использованием URL-безопасной схемы кодирования:

gopackage 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())
}

Результат выполнения кода:

go"MTIzNDU="

Пример

Давайте закодируем строку 'data' с использованием Raw-кодирования без символа заполнения:

gopackage 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())
}

Результат выполнения кода:

go"ZGF0YQ=="

Смотрите также

  • функцию base64.StdEncoding,
    которая предоставляет стандартную схему кодирования Base64
  • функцию base64.URLEncoding,
    которая предоставляет URL-безопасную схему кодирования
  • функцию base64.Encoding.EncodeToString,
    которая кодирует данные в строку Base64
  • функцию base64.NewDecoder,
    которая создает декодер для декодирования данных из Base64