Maison > développement back-end > Golang > Pourquoi base64.StdEncoding.DecodeString(str) échoue-t-il avec l'erreur « données base64 illégales à l'octet d'entrée 4 » ?

Pourquoi base64.StdEncoding.DecodeString(str) échoue-t-il avec l'erreur « données base64 illégales à l'octet d'entrée 4 » ?

Patricia Arquette
Libérer: 2024-12-02 22:15:19
original
203 Les gens l'ont consulté

Why Does base64.StdEncoding.DecodeString(str) Fail with

"Données base64 illégales à l'octet d'entrée 4" lors de l'utilisation de base64.StdEncoding.DecodeString(str)

Lors de la tentative de décodage d'une image Base64 à l'aide de base64.StdEncoding.DecodeString( str), les utilisateurs peuvent rencontrer l'erreur « données base64 illégales à l'octet d'entrée 4 ». Cela se produit car la chaîne d'entrée n'est pas entièrement codée en Base64.

L'entrée fournie est un schéma d'URI de données, un format utilisé pour intégrer des données, telles que des images, dans des pages Web. Il suit cette structure :

data:[<MIME-type>][;charset=<encoding>][;base64],<data>
Copier après la connexion

Dans l'exemple donné, le type MIME est "image/png" et ";base64" indique que le composant de données est codé en Base64.

Pour extraire les données codées en Base64, supprimez le préfixe jusqu'à la virgule incluse :

input := "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYA"

b64data := input[strings.IndexByte(input, ',')+1:]
Copier après la connexion

Maintenant, vous pouvez décoder le Chaîne Base64 :

data, err := base64.StdEncoding.DecodeString(b64data)
if err != nil {
    fmt.Println("error:", err)
}
Copier après la connexion

Ce processus décodera avec succès les données d'image sans rencontrer l'erreur « Données base64 illégales à l'octet d'entrée 4 ».

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal