Heim >Backend-Entwicklung >Golang >Warum schlägt base64.StdEncoding.DecodeString(str) mit dem Fehler „Ungültige Base64-Daten am Eingabebyte 4' fehl?
Beim Versuch, ein Base64Image mit base64.StdEncoding.DecodeString( zu dekodieren str) können Benutzer auf den Fehler „Ungültige Base64-Daten am Eingabebyte 4“ stoßen. Dies liegt daran, dass die Eingabezeichenfolge nicht vollständig Base64-codiert ist.
Die bereitgestellte Eingabe ist ein Daten-URI-Schema, ein Format, das zum Einbetten von Daten wie Bildern in Webseiten verwendet wird. Es folgt dieser Struktur:
data:[<MIME-type>][;charset=<encoding>][;base64],<data>
Im gegebenen Beispiel ist der MIME-Typ „image/png“ und „;base64“ gibt an, dass die Datenkomponente Base64-codiert ist.
Um die Base64-kodierten Daten zu extrahieren, entfernen Sie das Präfix bis einschließlich Komma:
input := "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYA" b64data := input[strings.IndexByte(input, ',')+1:]
Jetzt können Sie die Daten dekodieren Base64-Zeichenfolge:
data, err := base64.StdEncoding.DecodeString(b64data) if err != nil { fmt.Println("error:", err) }
Dieser Vorgang dekodiert die Bilddaten erfolgreich, ohne dass der Fehler „Ungültige Base64-Daten am Eingabebyte 4“ auftritt.
Das obige ist der detaillierte Inhalt vonWarum schlägt base64.StdEncoding.DecodeString(str) mit dem Fehler „Ungültige Base64-Daten am Eingabebyte 4' fehl?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!