Переменная base64.RawURLEncoding
Переменная base64.RawURLEncoding представляет
собой экземпляр base64.Encoding, который
реализует кодировку Base64 без символов заполнения
для безопасного использования в URL и именах файлов.
В отличие от стандартного Base64, данная кодировка
использует символы - и _ вместо
+ и / соответственно, а также не
добавляет символы заполнения = в конец
закодированной строки. Это делает ее идеальным
выбором для передачи данных в URL-параметрах,
заголовках HTTP и именах файлов.
Синтаксис
base64.RawURLEncoding
Пример
Давайте закодируем строку "Hello, World!" в
формат Base64 без заполнения, используя кодировку
для URL:
package main
import (
"encoding/base64"
"fmt"
)
func main() {
data := []byte("Hello, World!")
res := base64.RawURLEncoding.EncodeToString(data)
fmt.Println(res)
}
Результат выполнения кода:
"Hello, World!"
Пример
Давайте закодируем строку "Go语言" (кириллица и
спецсимволы) с помощью base64.RawURLEncoding:
package main
import (
"encoding/base64"
"fmt"
)
func main() {
data := []byte("Go语言")
res := base64.RawURLEncoding.EncodeToString(data)
fmt.Println(res)
}
Результат выполнения кода:
"R2_ov6yt"
Пример
Давайте закодируем и раскодируем данные, чтобы
продемонстрировать симметричность работы
base64.RawURLEncoding:
package main
import (
"encoding/base64"
"fmt"
)
func main() {
original := []byte("12345")
encoded := base64.RawURLEncoding.EncodeToString(original)
decoded, err := base64.RawURLEncoding.DecodeString(encoded)
if err != nil {
fmt.Println("error:", err)
return
}
fmt.Println(string(decoded))
}
Результат выполнения кода:
"12345"
Смотрите также
-
переменную
base64.URLEncoding,
которая добавляет символы заполнения к закодированной строке -
переменную
base64.RawStdEncoding,
которая использует стандартный алфавит без символов заполнения -
переменную
base64.StdEncoding,
которая использует стандартный алфавит с символами заполнения -
функцию
base64.Encoding.EncodeToString,
которая выполняет кодирование байтов в строку Base64