首頁 > 後端開發 > Golang > 為什麼 base64.StdEncoding.DecodeString(str) 失敗並出現「輸入位元組 4 處存在非法 base64 資料」錯誤?

為什麼 base64.StdEncoding.DecodeString(str) 失敗並出現「輸入位元組 4 處存在非法 base64 資料」錯誤?

Patricia Arquette
發布: 2024-12-02 22:15:19
原創
203 人瀏覽過

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

使用base64.StdEncoding.DecodeString(str)時「輸入位元組4處存在非法base64資料」

嘗試使用64.StdEncoding.DecodeString(>

嘗試使用64.StdEncoding.DecodeString(Base64Im>嘗試使用解碼時) str),使用者可能會遇到錯誤「輸入位元組4 處存在非法的base64數據」。發生這種情況是因為輸入字串並非完全 Base64 編碼。

提供的輸入是資料 URI 方案,這是一種用於在網頁中嵌入資料(例如圖片)的格式。它遵循以下結構:
data:[<MIME-type>][;charset=<encoding>][;base64],<data>
登入後複製

在給定的範例中,MIME 類型為“image/png”,“;base64”表示資料元件是 Base64 編碼的。

要提取Base64 編碼數據,請刪除前綴(包括逗號):
input := "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYA"

b64data := input[strings.IndexByte(input, ',')+1:]
登入後複製

現在,您可以解碼Base64 string:
data, err := base64.StdEncoding.DecodeString(b64data)
if err != nil {
    fmt.Println("error:", err)
}
登入後複製

此過程將成功解碼影像數據,而不會遇到「輸入位元組4 處非法的Base64 數據」錯誤。

以上是為什麼 base64.StdEncoding.DecodeString(str) 失敗並出現「輸入位元組 4 處存在非法 base64 資料」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板