Heim >Backend-Entwicklung >Golang >Warum schlägt base64.StdEncoding.DecodeString(str) mit dem Fehler „Ungültige Base64-Daten am Eingabebyte 4' fehl?

Warum schlägt base64.StdEncoding.DecodeString(str) mit dem Fehler „Ungültige Base64-Daten am Eingabebyte 4' fehl?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-02 22:15:19193Durchsuche

Why Does base64.StdEncoding.DecodeString(str) Fail with

„Ungültige Base64-Daten am Eingabebyte 4“ bei Verwendung von base64.StdEncoding.DecodeString(str)

Beim Versuch, ein Base64Image mit base64.StdEncoding.DecodeString( zu dekodieren str) können Benutzer auf den Fehler „Ungültige Base64-Daten am Eingabebyte 4“ stoßen. Dies liegt daran, dass die Eingabezeichenfolge nicht vollständig Base64-codiert ist.

Die bereitgestellte Eingabe ist ein Daten-URI-Schema, ein Format, das zum Einbetten von Daten wie Bildern in Webseiten verwendet wird. Es folgt dieser Struktur:

data:[<MIME-type>][;charset=<encoding>][;base64],<data>

Im gegebenen Beispiel ist der MIME-Typ „image/png“ und „;base64“ gibt an, dass die Datenkomponente Base64-codiert ist.

Um die Base64-kodierten Daten zu extrahieren, entfernen Sie das Präfix bis einschließlich Komma:

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

b64data := input[strings.IndexByte(input, ',')+1:]

Jetzt können Sie die Daten dekodieren Base64-Zeichenfolge:

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

Dieser Vorgang dekodiert die Bilddaten erfolgreich, ohne dass der Fehler „Ungültige Base64-Daten am Eingabebyte 4“ auftritt.

Das obige ist der detaillierte Inhalt vonWarum schlägt base64.StdEncoding.DecodeString(str) mit dem Fehler „Ungültige Base64-Daten am Eingabebyte 4' fehl?. 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