Maison > développement back-end > Golang > Pourquoi est-ce que j'obtiens une erreur « Données Base64 illégales à l'octet d'entrée 4 » lors du décodage d'un URI de données ?

Pourquoi est-ce que j'obtiens une erreur « Données Base64 illégales à l'octet d'entrée 4 » lors du décodage d'un URI de données ?

Mary-Kate Olsen
Libérer: 2024-12-01 00:40:11
original
751 Les gens l'ont consulté

Why Am I Getting a

Erreur de décodage Base64 : "Données Base64 illégales à l'octet d'entrée 4"

Lors de la tentative de décodage d'une chaîne codée en Base64 à l'aide de base64.StdEncoding .DecodeString(str), vous pouvez rencontrer l'erreur : "données base64 illégales à l'octet d'entrée 4." Cette erreur indique que l'entrée fournie n'est pas dans un format Base64 valide.

Le problème dans votre cas ne réside pas dans l'encodage Base64 lui-même, mais dans la chaîne d'entrée. Au lieu d'une chaîne Base64 pure, vous essayez de décoder un schéma d'URI de données.

Un schéma d'URI de données représente les données d'une page Web sous forme de contenu en ligne, en suivant ceci format:

data:[][;charset=][;base64],

Dans votre cas, l'entrée est un Schéma d'URI de données contenant un type MIME image/png et des données codées en Base64. Pour le décoder, vous devez d'abord extraire la partie Base64.

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

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

Sortie :

iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYA
Copier après la connexion

Vous pouvez maintenant décoder la chaîne Base64 extraite :

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

Sortie :

[137 80 78 71 13 10 26 10 0 0 0 13 73 72 68 82 0 0 0 100 0 0 0 100 8 6 0]
Copier après la connexion

En extrayant les données Base64 du schéma Data URI et en effectuant la processus de décodage, vous pouvez décoder avec succès le contenu codé en Base64.

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!

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