Base64-Dekodierungsfehler: „Ungültige Base64-Daten bei Eingabebyte 4“
Beim Versuch, eine Base64-kodierte Zeichenfolge mit base64.StdEncoding zu dekodieren .DecodeString(str), möglicherweise tritt der Fehler auf: „Ungültige Base64-Daten am Eingabebyte 4.“ Dieser Fehler weist darauf hin, dass die bereitgestellte Eingabe nicht in einem gültigen Base64-Format vorliegt.
Das Problem liegt in Ihrem Fall nicht in der Base64-Codierung selbst, sondern in der Eingabezeichenfolge. Anstelle einer reinen Base64-Zeichenfolge versuchen Sie, ein Daten-URI-Schema zu dekodieren.
Ein Daten-URI-Schema stellt Daten innerhalb einer Webseite als Inline-Inhalt dar format:
data:[
In Ihrem Fall ist die Eingabe a Daten-URI-Schema, das einen image/png-MIME-Typ und Base64-codierte Daten enthält. Um es zu dekodieren, müssen Sie zuerst den Base64-Teil extrahieren.
input := "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYA" b64data := input[strings.IndexByte(input, ',')+1:] fmt.Println(b64data)
Ausgabe:
iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYA
Jetzt können Sie die extrahierte Base64-Zeichenfolge dekodieren:
data, err := base64.StdEncoding.DecodeString(b64data) if err != nil { fmt.Println("error:", err) } fmt.Println(data)
Ausgabe:
[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]
Durch Extrahieren der Base64-Daten aus dem Daten-URI-Schema und Durchführen des Nach dem Dekodiervorgang können Sie den Base64-kodierten Inhalt erfolgreich dekodieren.
Das obige ist der detaillierte Inhalt vonWarum erhalte ich beim Decodieren eines Daten-URI die Fehlermeldung „Ungültige Base64-Daten bei Eingabebyte 4'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!