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

Метод base64.Encoding.Decode

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

Синтаксис

decodedLen, err := encoding.Decode(dst, src)

Пример

Давайте декодируем строку Base64 'SGVsbG8gV29ybGQ=' в байтовый срез:

package main import ( "encoding/base64" "fmt" ) func main() { src := []byte("SGVsbG8gV29ybGQ=") dst := make([]byte, base64.StdEncoding.DecodedLen(len(src))) n, err := base64.StdEncoding.Decode(dst, src) if err != nil { fmt.Println("Error:", err) return } fmt.Printf("Decoded %d bytes: %s\n", n, dst[:n]) }

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

"Decoded 11 bytes: Hello World"

Пример

Давайте декодируем строку Base64 с данными, имеющими неправильную длину:

package main import ( "encoding/base64" "fmt" ) func main() { src := []byte("SGVsbG8gV29ybGQ") dst := make([]byte, base64.StdEncoding.DecodedLen(len(src))) n, err := base64.StdEncoding.Decode(dst, src) if err != nil { fmt.Println("Error:", err) return } fmt.Printf("Decoded %d bytes: %s\n", n, dst[:n]) }

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

"Error: illegal base64 data at input byte 12"

Пример

Давайте покажем случай, когда целевой срез слишком мал для декодированных данных:

package main import ( "encoding/base64" "fmt" ) func main() { src := []byte("SGVsbG8gV29ybGQ=") dst := make([]byte, 5) n, err := base64.StdEncoding.Decode(dst, src) if err != nil { fmt.Println("Error:", err) return } fmt.Printf("Decoded %d bytes\n", n) }

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

"Error: base64: decoded output too short"

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

Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить