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

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

Mary-Kate Olsen
Freigeben: 2024-12-03 14:41:09
Original
308 Leute haben es durchsucht

Why Am I Getting an

Fehlerbehebung „Ungültige Base64-Daten am Eingabebyte 4“-Fehler bei der Base64-Dekodierung

Bei der Verwendung von base64.StdEncoding.DecodeString(str) tritt ein Fehler auf, der auf „ungültige Base64-Daten“ hinweist am Eingangsbyte 4" auftreten. Dieses Problem tritt auf, wenn die zur Dekodierung bereitgestellte Eingabezeichenfolge nicht Base64-codierte Daten enthält.

Daten-URI-Schema verstehen

Oft ist die Eingabezeichenfolge nicht direkt Base64-codiert, sondern eher ein Teil eines Daten-URI-Schemas. Dieses Schema bettet Daten in Webseiten als Inline-Ressourcen im folgenden Format ein:

data:[<MIME-type>][;charset=<encoding>][;base64],<data>
Nach dem Login kopieren

Im Falle des bereitgestellten Fehlers stellt die Eingabezeichenfolge einen Daten-URI mit dem MIME-Typ image/png dar. So extrahieren Sie die tatsächlichen Base64-kodierten Daten:

input := "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYA"

b64data := input[strings.IndexByte(input, ',')+1:]
Nach dem Login kopieren

Dadurch wird das Präfix entfernt und es bleiben nur die Base64-kodierten Daten übrig.

Dekodierung der extrahierten Base64-Daten

Sobald die Base64-codierten Daten (b64data) erhalten wurden, können sie mithilfe von decodiert werden base64.StdEncoding.DecodeString()-Funktion zum Extrahieren der Rohdaten. Zum Beispiel:

data, err := base64.StdEncoding.DecodeString(b64data)
if err != nil {
    fmt.Println("error:", err)
}
fmt.Println(data)
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWarum erhalte ich beim Dekodieren die Fehlermeldung „Ungültige Base64-Daten am 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