在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.buffergif.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 GIFsplited := SplitSubN(encoded, 10000) // Split "encoded" each 10K charactersconn.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的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2357080.html