異常:輸入位元組4 處存在非法Base64 資料
嘗試使用base64.StdEncoding.DecodeString 解碼Base64 編碼的字串時,Base64可能會出現「輸入位元組4 處存在非法base64 資料」錯誤。此錯誤源自於對資料 URI 方案的不當處理。
數據 URI 方案在網頁內內嵌編碼數據,類似於外部資源。它們的格式類似:
data:[<MIME-type>][;charset=<encoding>][;base64],<data>
其中:
要修正您場景中的問題,您必須在解碼之前從資料URI方案中擷取 Base64 編碼的資料。要實現此目的,請刪除逗號之前的前綴:
input := "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYA" b64data := input[strings.IndexByte(input, ',') + 1:]
現在您有了 Base64 編碼的數據,可以成功解碼:
data, err := base64.StdEncoding.DecodeString(b64data) if err != nil { fmt.Println("error:", err) } fmt.Println(data)
以上是為什麼在解碼 Base64 字串時出現「輸入位元組 4 處存在非法 Base64 資料」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!