编辑:感谢@zenoh的计数方法。gzipping生成具有双字节计数的字符,所以这很有趣。我仍然有兴趣知道人们如何减少他们通过WebRTC?发送的数据的大小。
我想通过WebRTC发送一些JSON。这是大量的数据,所以我需要把它保持在最低限度。
我需要计算正在发送的数据的实际大小。我需要技巧和技巧才能把这件事降到最低。
比如说,我有一个对象:
{
myString: "Yabba Dabba Doo",
myInt: 42,
myFloat: 1.6666666666666666666666666666666666666666666...., // Recurring
}我一直(误解)认为JSON将其全部放入一个字符串形式中。因此,例如,浮子将被写为"1.6666666666666“,负载为6's之后,直到它变得无聊。这显然是大量的字节。那太糟了。
那么,有人能告诉我如何计算我要发送的JSON的确切字节大小吗?
我应该把钥匙弄得越小越好吗?所以,不是让它可读的,即‘我的浮动’作为一个键,使它小,即'f‘作为一个键?
我有一个小小的压缩例程,我为ints编写了代码。我认为在小数点第9位之后,浮点数变得几乎与它们所需要的无关,所以我考虑将浮点数乘以1000000除去剩下的小数位,然后在int上使用我的小压缩例程。然后在通过WebRTC发送时进行反向操作。
我的另一个想法是JSONifying对象,然后将结果字符串压缩并发送。
因此,任何关于这个问题的想法都会得到感激的接受。
发布于 2021-02-16 14:54:48
JSON.stringify(obj)应该以UTF-8输出字符串,然后可以使用UFT-8字符串长度和字节计数器来计算大小,比如:https://mothereff.in/byte-counter。
https://stackoverflow.com/questions/66226610
复制相似问题