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>
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:]
Maintenant, vous pouvez décoder le Chaîne Base64 :
data, err := base64.StdEncoding.DecodeString(b64data) if err != nil { fmt.Println("error:", err) }
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!