草庐IT

byte-buddy

全部标签

go - 将原始 []byte 视频传输到 ffmpeg - Go

我有一个直接来自http正文的[]字节格式的视频://ParsingvideovideoData,err:=ioutil.ReadAll(r.Body)iferr!=nil{w.WriteHeader(UPLOAD_ERROR)w.Write([]byte("Erroruploadingthefile"))return}我需要一帧视频并将其转换为png。这就是有人使用ffmpeg处理静态和编码文件的方式:filename:="test.mp4"width:=640height:=360cmd:=exec.Command("ffmpeg","-i",filename,"-vframes"

image - Golang 将原始图像 []byte 转换为 image.Image

假设我有一个这样的8位灰度图像:varpixels[]byte=...width:=100height:=100如何将其转换为实现image.Image的东西? 最佳答案 image包有几个image.Image的实现界面。如果您能找到一个可以按照您所拥有的方式对像素进行建模的实现,那么您无需执行任何操作,只需使用该实现即可。例如image包有一个image.Gray实现image.Image的类型,它以一个字节为8位灰度颜色对像素进行建模。因此,如果您确实有这个,只需创建一个image.Gray的值并“告诉它”使用您的pixels

arrays - golang : convert uint32 (or any built-in type) to []byte (to be written in a file)

我正在尝试使用unsafe库在Go中将uint32转换为字节数组(4个字节):h:=(uint32)(((fh.year*100+fh.month)*100+fh.day)*100+fh.h)a:=make([]byte,unsafe.Sizeof(h))copy(a,*(*[]byte)(unsafe.Pointer(&h)))前两行是正确的,但随后在copy调用时出现运行时错误(unexpectedfaultaddress)。下一步是调用Write_,err=fi.Write(a)将4个字节写入文件。我发现了具有类似主题的其他问题,但没有一个具有有效代码的问题。我也知道unsafe

go - 如何比较 [32]byte 和 []byte?

我想比较sha256.Sum256()的输出,即[32]byte与[]byte。我收到错误“[32]byte和[]byte类型不匹配”。我无法将[]byte转换为[32]byte。有没有办法做到这一点? 最佳答案 您可以通过slice轻松地将任何数组([size]T)转换为slice([]T):x:=[32]byte{}slice:=x[:]//shorthandforx[0:len(x)]您可以从那里将其与您的slice进行比较,就像比较任何其他两个slice一样,例如funcEqual(slice1,slice2[]byte)b

c - 从 []byte 到 char*

我想包装一个C函数,它接受一个指向非空字节缓冲区(的第一个元素)的char*。我正在尝试使用CGo将其包装在Go函数中,以便可以将其传递给[]byte,但我不知道如何进行转换。C函数签名的简化版本是voidfoo(charconst*buf,size_tn);我尝试将指针传递给slice中的第一个byteC.foo(&b[0],C.size_t(n))不过,这并不能编译:cannotuse&b[0](type*byte)astype*_Ctype_charinfunctionargument那么这里的正确程序是什么?go-wiki只描述了相反的情况。 最佳答

go - []uint8 && []byte 之间的区别(Golang slice )

我正在运行的函数之一:image.Decode()image.Decode函数接收一个io.Reader&&,而io.Reader函数接收一个[]byte。当我传入一个[]uint8时,如果给我这个错误:panic:image:unknownformat如何将[]uint8转换为[]byte?更新错误发生在星号区域,因为image.Decode无法读取变量xxx。packagemainimport("github.com/nfnt/resize""image""image/jpeg""fmt""launchpad.net/goamz/aws""launchpad.net/goamz/s

json.Unmarshal 嵌套对象成字符串或 []byte

我正在尝试解码一些json,以便嵌套对象不会被解析,而只是被视为string或[]byte。所以我想得到以下内容:{"id":15,"foo":{"foo":123,"bar":"baz"}}解码为:typeBarstruct{IDint64`json:"id"`Foo[]byte`json:"foo"`}我收到以下错误:json:cannotunmarshalobjectintoGovalueoftype[]uint8playgrounddemo 最佳答案 我认为您正在寻找的是RawMessage输入encoding/json包。

go - 在 golang 中清除 bytes.Buffer 的正确方法是什么?

我正在尝试清除一个bytes.Buffer,但是文档中没有这个功能也许我应该更新缓冲区?正确的做法是什么?buffer=bytes.NewBufferString("")buffer.Grow(30000) 最佳答案 Packagebytesfunc(*Buffer)Resetfunc(b*Buffer)Reset()Resetresetsthebuffersoithasnocontent.b.Reset()isthesameasb.Truncate(0).func(*Buffer)Truncatefunc(b*Buffer)Tru

Golang 将 image.Image 转换为 []byte

无法将image.Image转换为[]byte。问题点用虚线包裹。image_data,err:=mybucket.Get(key)iferr!=nil{panic(err.Error())}//resetformatofdata[]bytetoimage.Imageoriginal_image,_,err:=image.Decode(bytes.NewReader(image_data))new_image:=resize.Resize(160,0,original_image,resize.Lanczos3)---------------------------//resetfor

hash - 如何从 []bytes 获取十六进制

http://play.golang.org/p/SKtaPFtnKOfuncmd(strstring)[]byte{h:=md5.New()io.WriteString(h,str)fmt.Printf("%x",h.Sum(nil))//base16,withlower-caselettersfora-freturnh.Sum(nil)}我只需要从输入字符串转换而来的哈希键字符串。我能够使用h.Sum(nil)以字节格式获取它,并且能够以%x格式打印出哈希键。但是我想从这个函数返回%x格式,以便我可以使用它将电子邮件地址转换为哈希键并使用它来访问Gravatar.com。如何在Go