草庐IT

硬件编码

全部标签

go - Base64 编码/解码导致输出损坏

我正在尝试编写一些base64编码和解码byteslice的便利包装函数。(无法理解为什么在stdlib中不方便地提供这一点。)但是这段代码(在playground中):funcb64encode(b[]byte)[]byte{encodedData:=&bytes.Buffer{}encoder:=base64.NewEncoder(base64.URLEncoding,encodedData)deferencoder.Close()encoder.Write(b)returnencodedData.Bytes()}funcb64decode(b[]byte)([]byte,erro

javascript - 给定相同的输入字符串,为什么这些 base64 编码输出不同?

当从相同的输入字符串中获取bas64编码的字符串时,我发现JavaScript、Groovy和Go具有相同的结果,但GNUbase64略有不同。这是为什么?JavaScript(nodejsv0.10.33):newBuffer('LaurenceTureaudisMr.T').toString('base64');TGF1cmVuY2UgVHVyZWF1ZCBpcyBNci4gVA==Groovy(Java8上的2.3.7):'LaurenceTureaudisMr.T'.bytes.encodeBase64().toString()TGF1cmVuY2UgVHVyZWF1ZCBpc

json - json 编码时间中可变的亚秒数

所以我有许多结构扩展了gorm模型,这意味着它们具有createdAt、updatedAt和deletedAttime.Time字段。当我将这些数据编码为JSON时,我收到的日期格式各不相同。它应该生成的正确RFC3339时间戳如下所示:2016-04-18T00:03:20Z但是,我只在大约20%的时间里以这种方式获取日期格式。时间戳的其余部分具有可变数量的亚秒。我收到了以下格式:2016-04-18T05:51:11.54772087Z2016-04-18T05:51:11.543835101Z2016-04-18T05:53:20.1674444Z有什么方法可以强制Go给我一致的

go - 缓慢的 json 编码和解码

我的项目有一个要求API返回一个数组(大约500个元素结构)我尝试使用像fasthttp,easyjson,rapidjson这样的库(用cgo调用),但是结果还不够好。大家有什么更好的推荐吗?这是我的代码:typeLinestruct{Timestring`json:"time"bson:"time"`Openfloat64`json:"open"bson:"open"`Closefloat64`json:"close"bson:"close"`Highfloat64`json:"high"bson:"high"`Lowfloat64`json:"low"bson:"low"`Vol

json - 如何在 Go 中将 byte/uint8 数组编码为 json 数组?

我有一个包含[]uint8成员的结构,我正在用json.Marshal编写它。问题是,它将uint8解释为char并且它输出一个字符串而不是一个数字数组。如果它是[]int,我可以让它工作,但如果可以避免的话,我不想分配和复制这些项目。可以吗? 最佳答案 根据docs,[]byte将被编码为Base64字符串。"ArrayandslicevaluesencodeasJSONarrays,exceptthat[]byteencodesasabase64-encodedstring,andanilsliceencodesasthenul

xml - 在 Go 中编码(marshal) XML 时如何保留标记的 namespace url

当我解码和编码此XML时,命名空间的URL消失了:tekst变成:代码:packagemainimport("encoding/xml""fmt")typeRootstruct{XMLNamexml.Name`xml:"root"`XmlNSstring`xml:"xmlns:urn,attr"`CopyrightCopyright`xml:"urn:copyright,omitempty"`}typeCopyrightstruct{Textstring`xml:",chardata"`}funcmain(){root:=Root{}x:=`text`_=xml.Unmarshal([

image - PNG 编码产生损坏的图像

我正在使用golang从视频游戏控制台读取帧缓冲区-缓冲区的格式为BRGA(然后我将其转换为RGBA)。当我将信息传递到GoPNG编码器时,输出的图像无效。我使用的代码是-哪里:wheredataisasliceofRGBApixels-0x398000inlength,pitchis5120,widthis1270,andheightis720)img:=&image.RGBA{Pix:data,Stride:pitch,Rect:image.Rect(0,0,width,height),}os.Remove("./img.png")file,_:=os.Create("./img.

arrays - Golang 通用 JSON 编码

我正在从事基于JSON通信的小型服务器-客户端项目。但我遇到了问题。我正在尝试创建一个具有通用消息正文的响应结构。这意味着我有一个map,其中一个键作为字符串,一个json原始消息作为值。最后,消息正文应该适用于任何类型(字符串、整数、数组)packagemainimport("encoding/json""fmt")typeServerResponsestruct{Codeint`json:"code"bson:"code"`Typestring`json:"type"bson:"type"`Bodymap[string]json.RawMessage`json:"body"bson

html 电子邮件正文中的 gomail.v2 quoted-printable 编码问题

我正在使用gomail.v2发送html电子邮件。html的编码/解码有问题。以下是相关的代码行:m:=gomail.NewMessage()//...abunchoflinesremoved,forclarity...s,err:=GenerateBodyHTML(si.MsgFName,si.Hostname,&p,t)iferr!=nil{returnerr}m.SetBody("text/html",s)err=d.DialAndSend(m)我将HTML生成为一个字符串,并验证它是正确的——我可以将s的内容写入一个文件并在浏览器中打开该文件,一切看起来都很好。因此,例如,这里

mysql - Golang mysql 客户端 DB.Query 方法不重新编码 utf-8 编码的字符

我有一个mysql表,它的某些列中存储了UTF-8字符。该表是使用DEFAULTCHARSET=utf8创建的;如果我手动运行select语句,我可以看到UTF-8字符,但如果我使用golang客户端并使用DB.Query方法然后我看到字符都是乱码!此外,插入也是从golang客户端完成的。为什么插入内容很好,而读取却出现乱码?在进行查询时,我看不到任何用于设置字符集的参数。我错过了什么? 最佳答案 所以当行被插入数据库时​​,客户端字符集是latin1。默认情况下,golang客户端使用的是utf8。使用utf8再次插入所有行,现