问题标签 [gob]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
json - 将二进制数据 blob 发送到 dynamodb 时出错
我在尝试使用 godynamo 管理 dynamodb 实例时遇到了问题。
我的代码旨在采用 gob 编码的字节数组并将其放入 dynamodb。
}
但是,每次运行此代码时,都会出现以下错误。无法转换为 Blob:Base64 编码长度应为 4 字节的倍数,但发现:25
Godynamo 不处理确保二进制数组专门转换为 base64 的问题吗?我有一个简单的方法来处理这个问题吗?
go - 在磁盘上的文件中附加到 golang gob
我正在尝试将gob
编码数据保存在磁盘上的文件中作为简单的数据存储。但是,当我下次打开它时,gob 编码器会忽略文件中已有的任何数据,并在发送数据之前重新开始发送已发送格式的定义。看到这gob.Encoder
需要一个io.Writer
,而不是一个io.ReadWriter
,这是有道理的。编码器不知道文件中的内容,因为它无法从中读取。
然而,这是非常低效的。它也不必要地难以解析,因为每次编码器在写入文件时重新启动时,您都必须重置解码器,因为 gob 类型 id 可能已经改变。
如何继续写入包含 gob 数据的文件的末尾?我是否必须创建一个新文件,移动所有数据,以便 gob 编码器知道它已经发送了哪些类型,或者我有没有办法告诉编码器它应该知道哪些类型,或者其他方式?我需要它在软件重新启动时工作。
go - 越过电线
我正在考虑使用 gob ("encoding/gob") 来序列化网络协议中的数据,我一直在四处寻找,似乎找不到任何解决这些问题的方法:
消息框架 - gob 文档给人的印象是您可以简单地将 TCP 连接包装在 gob 解码器中并读取。但是如果你只收到半条消息会发生什么?gob 可以以某种方式处理这个问题,还是我被迫添加一个消息帧并将消息数据复制到缓冲区中以供 gob 反序列化?
不同类型的消息 - 协议有不同类型的消息,如何最好地使用 gob 处理?通过在每个 gob blob 之前有一个标识符来指示数据的类型?通过将所有消息放入包含所有不同消息的字段的“主”消息中(将其减少为仅一种类型的消息)?我尝试了后者(更简单),它似乎有一个巨大的开销(> 650字节)。
go - gob.Register 方法的目的是什么?
我已阅读 (gob) 的文档,但遇到了一些问题:
现在我知道如何编码结构和解码:
但是我不知道这种方法的目的,gob.Register()
有人可以向我解释什么时候使用它,为什么?
go - trying to understand how the Go gob encoder works
in my ambitions to understand how gob work . i have severals question .
i know that gob serialize a go type like struct map or interface(we must register it's real type) but :
i didn't understand nothing in this documentation . what they mean by ( reads the next value from the input stream ) they are one data that we could send it's a struct or a map but not many .what they mean by If e is nil, the value will be discarded. please expert explain to me i'am disasperate all day and ididn't find nothing
encoding - 如何在 Go 中持久化或编码链接的数据结构?
我的目标是拥有一个链接的数据结构,这是一个引用另一个结构的结构,依此类推,所以我可以将它编码到我的文件系统中,并在需要时对其进行解码,这样我就可以恢复整个链接结构,内容相同。
例子:
我有这些链接结构:
我以这种方式初始化它们:
我想知道如何对 A 进行编码,将它保存到一个文件中,这样我就可以对其进行解码,得到相同的结果。地址不重要,但内容很重要。我已经尝试过encoding/gob
,但没有成功:
完整示例:http ://play.golang.org/p/2vxHR9BzNy
有没有办法在不公开字段的情况下做到这一点?有没有现有的解决方案,所以我不需要重新发明轮子?
go - Gob 解码器返回 EOF 错误
我正在尝试实现一个基于接口的消息队列,其中作业作为字节推送到 redis 队列。但是在尝试解码字节流时,我一直收到 EOF 错误。
https://play.golang.org/p/l9TBvcn9qg
有人能指出我正确的方向吗?
谢谢!
go - 编码/gob 是确定性的吗?
我们能否期望两个 Go 对象 x, y 使得 x 等于 y(假设接口和映射没有技巧,只是结构和数组)gob_encode(x) 和 gob_encode(y) 的输出将始终相同?
编辑(2018 年 6 月 8 日):
当涉及地图时, gob 编码是不确定的。这是由于地图的随机迭代顺序,导致它们的序列化是随机排序的。
encoding - 如何在golang中使用gob发送地图?
在我的用例中,我想从 golang 中的客户端向服务器发送地图。我正在使用 gob 包对对象进行编码和解码。在服务器端,我无法解码对象。
服务器:
和客户:
有人可以帮我吗?
Go 版本:1.5 示例输出:客户端:
服务器:
go - 如何在 Golang 中不断地使用 gob 倾听客户的声音
在我的用例中,我想持续监听 TCP 连接并接收值。期望值是一个对象。所以我正在使用 gob 解码器从连接中接收值。我想不断地监听连接并使用 go 例程接收对象。我在这里有代码片段[它是应用程序的一部分。代码片段无法编译]。它第一次获得价值,但没有收到后续对象。
有人可以帮我吗?