Функция base64.NewDecoder
Функция base64.NewDecoder создает новый декодер Base64,
который читает данные из указанного io.Reader и декодирует
их в исходный бинарный формат. Первым параметром функция принимает
кодировку Base64 (например, base64.StdEncoding или
base64.URLEncoding), вторым параметром — источник
закодированных данных, реализующий интерфейс io.Reader.
Возвращаемое значение — это io.Reader, который при чтении
выполняет декодирование "на лету".
Синтаксис
base64.NewDecoder(enc *base64.Encoding, r io.Reader) io.Reader
Пример
Давайте декодируем строку "SGVsbG8gV29ybGQ=" с использованием стандартной кодировки Base64:
package main
import (
"encoding/base64"
"fmt"
"strings"
)
func main() {
encoded := "SGVsbG8gV29ybGQ="
decoder := base64.NewDecoder(base64.StdEncoding, strings.NewReader(encoded))
decoded, err := io.ReadAll(decoder)
if err != nil {
fmt.Println("Error:", err)
return
}
fmt.Println(string(decoded))
}
Результат выполнения кода:
"Hello World"
Пример
Декодирование данных из URL-безопасной кодировки Base64 с использованием
base64.URLEncoding:
package main
import (
"encoding/base64"
"fmt"
"strings"
)
func main() {
encoded := "SGVsbG8gV29ybGQh"
decoder := base64.NewDecoder(base64.URLEncoding, strings.NewReader(encoded))
decoded, err := io.ReadAll(decoder)
if err != nil {
fmt.Println("Error:", err)
return
}
fmt.Println(string(decoded))
}
Результат выполнения кода:
"Hello World!"
Пример
Декодирование данных из строки без добавления символов заполнения
с использованием base64.RawStdEncoding:
package main
import (
"encoding/base64"
"fmt"
"strings"
)
func main() {
encoded := "SGVsbG8gV29ybGQ"
decoder := base64.NewDecoder(base64.RawStdEncoding, strings.NewReader(encoded))
decoded, err := io.ReadAll(decoder)
if err != nil {
fmt.Println("Error:", err)
return
}
fmt.Println(string(decoded))
}
Результат выполнения кода:
"Hello World"
Смотрите также
-
функцию
base64.NewEncoder,
которая создает потоковый кодировщик Base64 -
функцию
base64.StdEncoding,
которая представляет стандартную кодировку Base64 -
функцию
base64.URLEncoding,
которая представляет URL-безопасную кодировку Base64 -
функцию
base64.RawStdEncoding,
которая представляет стандартную кодировку без символов заполнения