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

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

Переменная base64.URLEncoding предоставляет кодировщик Base64, использующий URL-safe алфавит. В отличие от стандартного кодировщика base64.StdEncoding, URL-safe версия использует символы '-' вместо '+' и '_' вместо '/', что делает закодированную строку безопасной для использования в URL-адресах, именах файлов и JSON без необходимости экранирования. Эта переменная представляет собой экземпляр структуры base64.Encoding с предустановленным алфавитом и опцией дополнения.

Синтаксис

base64.URLEncoding.EncodeToString(data []byte) string base64.URLEncoding.DecodeString(s string) ([]byte, error)

Пример

Давайте закодируем простую строку в URL-safe Base64:

package main import ( "encoding/base64" "fmt" ) func main() { data := []byte("Hello, World!") encoded := base64.URLEncoding.EncodeToString(data) fmt.Println(encoded) }

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

"SGVsbG8sIFdvcmxkIQ=="

Пример

Давайте закодируем бинарные данные, содержащие символы, которые в стандартном Base64 превратились бы в '+' и '/':

package main import ( "encoding/base64" "fmt" ) func main() { data := []byte{0xFF, 0xFE, 0xFD, 0xFC} encoded := base64.URLEncoding.EncodeToString(data) fmt.Println(encoded) }

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

"__7w"

Пример

Давайте декодируем закодированную URL-safe Base64 строку обратно в исходные данные:

package main import ( "encoding/base64" "fmt" "log" ) func main() { encoded := "SGVsbG8sIFdvcmxkIQ==" decoded, err := base64.URLEncoding.DecodeString(encoded) if err != nil { log.Fatal(err) } fmt.Println(string(decoded)) }

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

"Hello, World!"

Пример

Давайте сравним результат кодирования с помощью base64.StdEncoding и base64.URLEncoding для одних и тех же данных:

package main import ( "encoding/base64" "fmt" ) func main() { data := []byte("abc?") std := base64.StdEncoding.EncodeToString(data) url := base64.URLEncoding.EncodeToString(data) fmt.Println("Стандартный Base64:", std) fmt.Println("URL-safe Base64:", url) }

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

"Стандартный Base64: YWJjPw==" "URL-safe Base64: YWJjPw=="

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

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