【发布时间】:2014-12-04 15:25:03
【问题描述】:
我正在为我的项目使用 GOB 编码,但我发现(经过长时间的斗争)空字符串没有正确编码/解码。在我的代码中,我使用错误消息(字符串)来报告任何问题,这个错误消息大部分时间都是空的。如果我编码一个空字符串,它就什么都没有了,这给我解码带来了问题。我不想更改编码/解码,因为这些部分使用得最多。 我如何告诉 Go 如何编码/解码空字符串?
示例: Playground 工作代码。 Playground 代码无效。
【问题讨论】:
-
查看示例,问题在于您的自定义
MarshalBinary/UnmarshalBinary方法而不是 gob。如果您导出结构中的字段(将它们设为大写)并仅使用默认的 gob 编组,则您的示例有效。 -
@James Henstridge 谢谢,它完美无瑕。发布答案,以便我可以将您标记为答案。顺便说一句,有人必须更新文档,因为我不知道大写字段会解决我第一次遇到的另一个问题。
标签: encoding character-encoding go gob