首頁 > 後端開發 > Golang > 如何在 Go 中正確解碼 Base64 編碼的圖像?

如何在 Go 中正確解碼 Base64 編碼的圖像?

Patricia Arquette
發布: 2024-12-04 10:14:20
原創
184 人瀏覽過

How to Properly Decode Base64-Encoded Images in Go?

Go Base64 圖片解碼

使用 HTML5 畫布時,通常會取得 Base64 編碼的圖片資料 URL。這些字串包含資料前綴和 Base64 編碼的圖像資料本身。

問題:

常見的一個問題是在以下情況下出現「未知影像格式」錯誤:嘗試使用解碼 Base64編碼的圖像image.DecodeConfig().

解決方案

1.註冊影像格式處理程序:

1.註冊影像格式處理程序:

import _ "image/png"
登入後複製

image .DecodeConfig() 函數僅識別在執行之前註冊了處理程序的圖像格式。對於經常遇到的PNG圖片,導入image/png包:

透過導入該包,註冊了PNG格式處理程序,讓image.DecodeConfig()成功解碼PNG圖片。

2。刪除資料前綴:

input := "data:image/png;base64,iVkhdfjdAjdfirtn="
b64data := input[strings.IndexByte(input, ',')+1:]
登入後複製

解碼前應刪除資料 URL 中的資料前綴(例如 data:image/png;base64,)。更有效的方法是對輸入字串進行切片:

此切片操作會建立一個新的字串標頭,而不複製數據,從而提高效能。 一旦格式化註冊處理程序並刪除資料前綴後,image.DecodeConfig() 可以成功解碼 PNG 影像並提供其寬度和高度資訊。

以上是如何在 Go 中正確解碼 Base64 編碼的圖像?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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