Heim > Backend-Entwicklung > Golang > Warum erhalte ich beim Decodieren eines Daten-URI die Fehlermeldung „Ungültige Base64-Daten bei Eingabebyte 4'?

Warum erhalte ich beim Decodieren eines Daten-URI die Fehlermeldung „Ungültige Base64-Daten bei Eingabebyte 4'?

Mary-Kate Olsen
Freigeben: 2024-12-01 00:40:11
Original
670 Leute haben es durchsucht

Why Am I Getting a

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:[][;charset=][;base64],

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)
Nach dem Login kopieren

Ausgabe:

iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYA
Nach dem Login kopieren

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)
Nach dem Login kopieren

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]
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage