在GO語言中,將GIF影像轉換為Base64編碼是一種常見的操作。透過將圖像資料轉換為Base64編碼,我們可以輕鬆地在網頁中嵌入圖片,或將圖片資料以字串形式傳輸。在GO語言中,可以使用encoding/base64套件中的函數來實現此轉換。這種轉換操作非常簡單,只需幾行程式碼即可完成。下面,我將為大家介紹如何在GO語言中將GIF影像轉換為Base64編碼。
我正在嘗試在go中透過udp發送gif文件,我認為最簡單的方法是將gif圖像轉換為base64字串並發送它,但是當我將文件當位元組轉換為base64時它會傳回一個空字串,我已經使用以下程式碼嘗試了模組「chilkat」:
bd := chilkat.NewBinData() success := bd.LoadFile(path.Join(folderPath, "final.gif")) if success != true { panic("Fail!") bd.DisposeBinData() return } b64Data := *bd.GetEncoded("base64")
但是它不起作用,如果有人可以幫助我
我的解決方案是這樣的:
var buff bytes.buffer gif.encodeall(&buff, &anim) based := base64.stdencoding.encodetostring(buff.bytes())
但是base64字串顯然太長而無法在udp中發送, 所以正確發送的解決方案是這樣的:
encoded := recordScreenToGIF(seconds) // Record X seconds of screen, & convert the result into a base64 GIF splited := SplitSubN(encoded, 10000) // Split "encoded" each 10K characters conn.Write([]byte(strconv.Itoa(len(splited)))) for _, elm := range splited { _, err = conn.Write([]byte(elm)) if err != nil { panic(err) } time.Sleep(50 * time.Millisecond) } conn.Write([]byte("Done"))
以上是在GO中將gif影像轉換為base64的詳細內容。更多資訊請關注PHP中文網其他相關文章!