Переменная base64.RawStdEncoding

Переменная base64.RawStdEncoding представляет стандартное base64-кодирование без символов заполнения (без padding). В отличие от base64.StdEncoding, которая добавляет символы = для выравнивания, эта версия кодирует данные без этих символов. Это полезно, когда нужно сохранить компактность закодированных данных или при использовании в URL-параметрах.

Синтаксис

gobase64.RawStdEncoding.EncodeToString(src)
base64.RawStdEncoding.DecodeString(s)

Пример

Давайте закодируем строку "abcde" в base64 без символов заполнения:

gopackage main

import (
  "encoding/base64"
  "fmt"
)

func main() {
  data := []byte("abcde")
  res := base64.RawStdEncoding.EncodeToString(data)
  fmt.Println(res)
}

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

go"YWJjZGU"

Пример

Давайте сравним результат кодирования с base64.StdEncoding для той же строки "12345":

gopackage main

import (
  "encoding/base64"
  "fmt"
)

func main() {
  data := []byte("12345")
  stdRes := base64.StdEncoding.EncodeToString(data)
  rawRes := base64.RawStdEncoding.EncodeToString(data)
  fmt.Println("StdEncoding:", stdRes)
  fmt.Println("RawStdEncoding:", rawRes)
}

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

go"StdEncoding: MTIzNDU="
"RawStdEncoding: MTIzNDU"

Пример

Давайте декодируем строку base64 без символов заполнения обратно в исходные данные:

gopackage main

import (
  "encoding/base64"
  "fmt"
)

func main() {
  encoded := "YWJjZGU"
  res, err := base64.RawStdEncoding.DecodeString(encoded)
  if err != nil {
    fmt.Println("Error:", err)
    return
  }
  fmt.Println(string(res))
}

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

go"abcde"

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

  • переменную base64.StdEncoding,
    которая используется для стандартного base64-кодирования с символами заполнения
  • переменную base64.URLEncoding,
    которая представляет URL-безопасное base64-кодирование с символами заполнения
  • переменную base64.RawURLEncoding,
    которая представляет URL-безопасное base64-кодирование без символов заполнения
  • метод base64.Encoding.EncodeToString,
    который преобразует байтовый слайс в строку base64