当前位置: 首页 > 面试题库 >

编码/目标和编码/ json之间的区别

呼延明朗
2023-03-14
问题内容

我正在Go中编写一个应用程序,该应用程序使用编码/目标在节点之间通过UDP发送结构和切片。它工作正常,但我注意到encoding /
json也具有类似的API。搜索并找到以下信息(https://golang.org/pkg/encoding/):

gob软件包gob管理gob的流-编码器(发送器)和解码器(接收器)之间交换的二进制值。
json程序包json实现RFC 4627中定义的JSON编码和解码。

有人可以向我解释一个人是否比另一个人更有效率,并且通常比较何时选择什么吗?另外,如果我需要与非Go应用程序接口,我猜json将是首选?


问题答案:

在Go程序之间进行通信时,Gob更可取。然而,gob当前仅在Go以及C语言中受支持,因此只有在确定没有任何其他html" target="_blank">编程语言编写的程序会尝试对值进行解码的情况下,才使用它。

在性能方面,至少在我的机器上,Gob远胜过JSON。测试文件(将其单独放入GOPATH下的文件夹中)

$ go test -bench=.        
testing: warning: no tests to run
BenchmarkGobEncoding-4           1000000              1172 ns/op
BenchmarkJSONEncoding-4           500000              2322 ns/op
BenchmarkGobDecoding-4           5000000               486 ns/op
BenchmarkJSONDecoding-4           500000              3228 ns/op
PASS
ok      testencoding    6.814s


 类似资料:
  • 问题内容: 我所看到的一些问题和相关的错误和。访客中的任何人都可以解释域名的差异吗? 问题答案: 编码是指所使用的字符集。 排序规则确定排序顺序。 参见:http : //dev.mysql.com/doc/refman/5.5/en/charset- general.html

  • 我编程了一个Android应用程序,它管理要在MySQL数据库中存储和删除的数据(在服务器上)。每当在智能手机上使用特殊字符("ä","ü",...)时,符号转换不良。 在日志中,我可以看到“Umlaut”(例如“ä”)正确传输。我还在我的php文件中使用“SET NAMES‘UTF-8’”,请参见此处: 如果我通过Postman启动请求,我可以添加带有特殊字符的单词,例如“TÄST”,json响

  • JSON“编码/解码”和JSON“编组/解编”之间有什么区别? 试图学习如何在golang中编写RESTFUL api,但不确定JSON“编码”和“编组”之间的区别是什么,或者它们是否相同?

  • 问题内容: 我们是否可以期望两个Go对象x,y等于x(假设接口和映射没有技巧性,仅是结构和数组),那么gob_encode(x)和gob_encode(y)的输出将始终相同? 编辑(2018年6月8日): 当涉及 地图* 时,gob编码是 不确定的 。这是由于映射的随机迭代顺序,导致其序列化被随机排序。 * 问题答案: 只要它“完成工作”,您就不需要真正关心。但是当前的实现是确定性的。但是(继续阅

  • 本文向大家介绍编译器和汇编器之间的区别,包括了编译器和汇编器之间的区别的使用技巧和注意事项,需要的朋友参考一下 编译器 编译器用于将高级编程语言代码转换为机器级代码并创建可执行程序。编译器检查程序中的错误并报告它们。所有错误都将被清除,否则将不会编译和执行代码。 组装工 汇编程序用于将汇编级代码转换为机器可读代码。汇编程序也会检查每条指令的正确性并报告诊断报告。 以下是编译器和汇编器之间的重要区别

  • 问题内容: 我试图在Python中将数据编码为JSON,但遇到了很多麻烦。我认为问题仅仅是误解。 我对Python相对较新,并且从未真正熟悉各种Python数据类型,所以这很可能使我感到困惑。 目前,我正在声明一个列表,遍历另一个列表,并将一个列表附加到另一个列表中: 所以我要么: 我不懂JSON语法 我不了解Pythons JSON模块 我使用了不合适的数据类型。 问题答案: Python转换为