这可能是一个琐碎的问题...或者可能不是。当我将对象序列化为JSON时,数字如何表示?
具体来说,我需要知道将它们编码为二进制的效率如何。有2种方法:
是哪种情况?
这是一个很大的不同:假设序列化的对象包含数字12345678
。第一种编码方式传输需要8 B,第二种编码方式只需4B。相对于第一种情况,在处理大量数字时(我的情况),我最好使用base64作为序列化的预处理。
我可以想象这可能取决于序列化程序(尽管我真的希望不是)。在这种情况下,我将使用Firebase Realtime数据库SDK。
答案 0 :(得分:0)
JSON是文本表示法。因此,数字12345678
是用这8个字符(即1、2、3等)发送的。根据您的文本编码,大概是8个字节(例如UTF-8或Windows-1252;但是如果您使用的是UTF例如-16,则为16个字节。
这些年来,已经有各种各样的“二进制JSON”提议,但是我认为它们中的任何一个都不真正存在于特定应用程序之外(例如,MongoDB中的BSON)。