对一个搞系统和网络的人来讲,主机序和网络序是要清楚的。
这对于写socket通信讲,是很重要的!一个完整的socket通信必然绕不开主机序和网络序问题,这是当今计算机通信的基石。
但对于一个常写socket通信的老手而言,可能也不太知道这个知识点,因为主机序和网络序问题被各种语言的解释器给掩盖了,这虽是减轻了socket编程的工作,但也给网络通信的过程蒙上一层面纱。
很多人不知道主机序和网络序是什么了,更别提“系统”的大端序和小端序,这是一个学习者的悲哀!不懂得本质,哪得来创新,反复造同一个轮子的行为只能让我感觉到一丝难过和万般无奈。
既然谈到主机序和网络序的话题,那么还是从最简单的聊起,这可以让更多人参与进来交流,而不是就几个人在那嗨聊。
在这里先画个重点,网络也是系统。
主机序
主机序有小端序和大端序。小端序是数据字节的低位存储在内存地址的低位,数据字节的高位存储在内存地址的高位;大端序是数据字节的低位存储在内存地址的高位,数据字节的高位存储在内存地址的低位。
小端序更符合人的理解,低对低,高对高嘛!大端序则更符合计算机的处理逻辑,从高到低,顺序存储。
字节存储这个工作往往是解释器做的。