Heim >Backend-Entwicklung >Golang >Warum erhalte ich beim Dekodieren einer Base64-Zeichenfolge die Fehlermeldung „Ungültige Base64-Daten bei Eingabebyte 4'?

Warum erhalte ich beim Dekodieren einer Base64-Zeichenfolge die Fehlermeldung „Ungültige Base64-Daten bei Eingabebyte 4'?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-29 16:24:10655Durchsuche

Why Am I Getting an

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:

  • Gibt den Typ der Daten an (z. B. Bild/PNG)
  • gibt die Zeichenkodierung an (optional)
  • ";base64" steht für Base64-Kodierung
  • enthält die tatsächlichen in Base64 codierten Daten.

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn