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
Freigeben: 2024-11-29 16:24:10
Original
709 Leute haben es durchsucht

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

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

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

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!

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