РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
1170 of 1593 menu

Тип base64.Encoding

Тип base64.Encoding представляет собой конфигурацию кодировщика Base64. Он определяет алфавит и правила кодирования. Наиболее часто используются предопределенные переменные: base64.StdEncoding — стандартное кодирование Base64, и base64.URLEncoding — вариант для URL-безопасного кодирования. Основные методы типа: EncodeToString — кодирует байтовый срез в строку, DecodeString — декодирует строку в байтовый срез.

Синтаксис

// Кодирование encoded := encoding.EncodeToString(data) // Декодирование decoded, err := encoding.DecodeString(encodedStr)

Пример

Давайте закодируем строку "hello world" в стандартный Base64:

package main import ( "encoding/base64" "fmt" ) func main() { data := []byte("hello world") res := base64.StdEncoding.EncodeToString(data) fmt.Println(res) }

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

"aGVsbG8gd29ybGQ="

Пример

Декодируем строку обратно в исходные байты:

package main import ( "encoding/base64" "fmt" ) func main() { encoded := "aGVsbG8gd29ybGQ=" res, err := base64.StdEncoding.DecodeString(encoded) if err != nil { fmt.Println("Error:", err) return } fmt.Println(string(res)) }

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

"hello world"

Пример

Используем URL-безопасное кодирование для данных с символами, которые могут конфликтовать в URL:

package main import ( "encoding/base64" "fmt" ) func main() { data := []byte("data?with=special&chars") res := base64.URLEncoding.EncodeToString(data) fmt.Println(res) decoded, err := base64.URLEncoding.DecodeString(res) if err != nil { fmt.Println("Error:", err) return } fmt.Println(string(decoded)) }

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

"ZGF0YT93aXRoPXNwZWNpYWwmY2hhcnM=" "data?with=special&chars"

Пример

При декодировании важно проверять ошибку, так как переданная строка может иметь невалидный формат Base64:

package main import ( "encoding/base64" "fmt" ) func main() { invalid := "invalid-base64!@#" res, err := base64.StdEncoding.DecodeString(invalid) if err != nil { fmt.Println("Error:", err) return } fmt.Println(res) }

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

"Error: illegal base64 data at input byte 8"

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

  • переменную base64.StdEncoding,
    которая представляет стандартный Base64-алфавит
  • переменную base64.URLEncoding,
    которая используется для URL-безопасного кодирования
  • переменную base64.RawStdEncoding,
    которая работает без дополнения символами '='
  • переменную base64.RawURLEncoding,
    которая комбинирует URL-алфавит и отсутствие дополнения
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить