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

Метод base64.Encoding.DecodeString

Метод base64.Encoding.DecodeString декодирует строку, закодированную в формате Base64, и возвращает исходные байтовые данные. Метод принимает один параметр — строку в кодировке Base64, а возвращает два значения: слайс байтов и ошибку. Если входная строка содержит недопустимые символы или имеет неверную длину, метод возвращает ошибку.

Синтаксис

data, err := encoding.DecodeString(s)

Пример

Давайте закодируем строку "Hello, World!" в Base64, а затем декодируем ее обратно:

package main import ( "encoding/base64" "fmt" ) func main() { original := "Hello, World!" encoded := base64.StdEncoding.EncodeToString([]byte(original)) fmt.Println("Encoded:", encoded) decoded, err := base64.StdEncoding.DecodeString(encoded) if err != nil { fmt.Println("Error:", err) return } fmt.Println("Decoded:", string(decoded)) }

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

"Encoded: SGVsbG8sIFdvcmxkIQ==" "Decoded: Hello, World!"

Пример

Рассмотрим пример декодирования строки с использованием кодировки URLEncoding:

package main import ( "encoding/base64" "fmt" ) func main() { // URL-безопасная кодировка использует '-' вместо '+' и '_' вместо '/' encoded := "SGVsbG8sIFdvcmxkIQ==" decoded, err := base64.URLEncoding.DecodeString(encoded) if err != nil { fmt.Println("Error:", err) return } fmt.Println(string(decoded)) }

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

"Hello, World!"

Пример

Попробуем декодировать строку с недопустимыми символами:

package main import ( "encoding/base64" "fmt" ) func main() { invalid := "SGVsbG8sIFdvcmxkIQ===" // Неверное количество символов '=' decoded, err := base64.StdEncoding.DecodeString(invalid) if err != nil { fmt.Println("Error:", err) return } fmt.Println(string(decoded)) }

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

"Error: illegal base64 data at input byte 23"

Пример

Декодирование бинарных данных с использованием RawStdEncoding (без символов '=' в конце):

package main import ( "encoding/base64" "fmt" ) func main() { // RawStdEncoding не добавляет символы '=' для выравнивания encoded := "SGVsbG8sIFdvcmxkIQ" decoded, err := base64.RawStdEncoding.DecodeString(encoded) if err != nil { fmt.Println("Error:", err) return } fmt.Println(string(decoded)) }

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

"Hello, World!"

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

  • метод base64.Encoding.EncodeToString,
    который кодирует байтовые данные в строку Base64
  • метод base64.Encoding.Decode,
    который декодирует Base64 данные в байтовый слайс
  • функцию hex.DecodeString,
    которая декодирует шестнадцатеричную строку
  • функцию json.Unmarshal,
    которая декодирует JSON данные в структуру Go
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить