Переменная base64.RawStdEncoding
Переменная base64.RawStdEncoding представляет
стандартное base64-кодирование без символов заполнения
(без padding). В отличие от base64.StdEncoding,
которая добавляет символы = для выравнивания,
эта версия кодирует данные без этих символов.
Это полезно, когда нужно сохранить компактность
закодированных данных или при использовании в URL-параметрах.
Синтаксис
base64.RawStdEncoding.EncodeToString(src)
base64.RawStdEncoding.DecodeString(s)
Пример
Давайте закодируем строку "abcde" в base64 без символов заполнения:
package main
import (
"encoding/base64"
"fmt"
)
func main() {
data := []byte("abcde")
res := base64.RawStdEncoding.EncodeToString(data)
fmt.Println(res)
}
Результат выполнения кода:
"YWJjZGU"
Пример
Давайте сравним результат кодирования с base64.StdEncoding
для той же строки "12345":
package 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)
}
Результат выполнения кода:
"StdEncoding: MTIzNDU="
"RawStdEncoding: MTIzNDU"
Пример
Давайте декодируем строку base64 без символов заполнения обратно в исходные данные:
package 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))
}
Результат выполнения кода:
"abcde"
Смотрите также
-
переменную
base64.StdEncoding,
которая используется для стандартного base64-кодирования с символами заполнения -
переменную
base64.URLEncoding,
которая представляет URL-безопасное base64-кодирование с символами заполнения -
переменную
base64.RawURLEncoding,
которая представляет URL-безопасное base64-кодирование без символов заполнения -
метод
base64.Encoding.EncodeToString,
который преобразует байтовый слайс в строку base64