Heim >Backend-Entwicklung >Golang >Warum erhalte ich beim Dekodieren einer Base64-Zeichenfolge die Fehlermeldung „Ungültige Base64-Daten bei Eingabebyte 4'?
Ausnahme: Unzulässige Base64-Daten bei Eingabebyte 4
Beim Versuch, eine Base64-codierte Zeichenfolge mit base64.StdEncoding.DecodeString zu dekodieren, wird ein Es kann der Fehler „Ungültige Base64-Daten am Eingabebyte 4“ auftreten. Dieser Fehler ist auf die unsachgemäße Handhabung von Daten-URI-Schemata zurückzuführen.
Daten-URI-Schemata kodieren Daten inline innerhalb von Webseiten und ähneln externen Ressourcen. Ihr Format ähnelt:
data:[<MIME-type>][;charset=<encoding>][;base64],<data>
wobei:
Um das Problem in Ihrem Szenario zu beheben, müssen Sie die Base64-codierten Daten vor der Dekodierung aus dem Daten-URI-Schema extrahieren. Um dies zu erreichen, entfernen Sie das Präfix bis zum Komma:
input := "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYA" b64data := input[strings.IndexByte(input, ',') + 1:]
Jetzt haben Sie die Base64-kodierten Daten, die erfolgreich dekodiert werden können:
data, err := base64.StdEncoding.DecodeString(b64data) if err != nil { fmt.Println("error:", err) } fmt.Println(data)
Das obige ist der detaillierte Inhalt vonWarum erhalte ich beim Dekodieren einer Base64-Zeichenfolge die Fehlermeldung „Ungültige Base64-Daten bei Eingabebyte 4'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!