首頁 > 後端開發 > Golang > 主體

在GO中將gif影像轉換為base64

WBOY
發布: 2024-02-09 14:54:08
轉載
970 人瀏覽過

在GO中將gif影像轉換為base64

在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中文網其他相關文章!

相關標籤:
來源:stackoverflow.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!