简单谈谈为何二进制序列化存储文件这么流行

作为程序员,我们在为应用程序开发api时,最常用的一个操作就是对象的JSON序列化和反序列化。这往往导致一种错觉:世界上的数据类型往往是字符(中文、英文等等)居多。但这是错误的。视频、音频、图片都是用数字表示的,这些数据类型就占据了全世界网络带宽的98%以上,单纯的字符等其它数据类型只占了不到2%。

如果能更有效更节省空间地传输及保存数字数据呢?答案就是二进制,下面来简单说说为何二进制存储更节省空间。


以15这个数字为例,如果用整数表示法,只需要4个二进制位(1111)就够了,但如果用ASCII码来表示,就变成两个字符1和5连续放在一起,也就是(00110001)和(0011 0101),需要用到16位来存储。由此可以简单得到,对于数字占多数的数据,使用二进制存储更加节省空间

二进制存储的缺点

  • 保存的文件不易于人类阅读,需要使用程序反序列化
  • 越是含数字越多的数据,用处越大
  • 会存储额外的信息(上下文信息,数据类型等)

思考

二进制存储时会分析数据特点,进行压缩等其它操作,以便更加节省存储空间吗?

posted @ 2019-11-29 10:56  james_cai  阅读(971)  评论(0)    收藏  举报