引子
SOME/IP规范中有如下定义:
All SOME/IP Header Fields shall be encoded in network byte order(big endian).
译文:所有SOME/IP报头字段应按网络字节顺序(大端序)进行编码。
此处提到了一个概念网络字节顺序(即大端序),我们来聊聊这个概念。
一场个性引起的战争
格列佛游记中有这样一个小故事,格列佛遭遇海难并被冲到利利普特岛,岛上生活着身高6英寸的小人,小人国发布新的法律要求只能从鸡蛋的小端(Little-End)拨开鸡蛋,习惯于从鸡蛋大端(Big-End)拨开鸡蛋的人对此非常愤怒。一场战争在Little Endians和Big Endians之间拉开序幕。而这一场看似搞笑的战争最终导致11000名小人反叛者死亡,而Big Endians也是流亡到附近的岛屿。
作者想通过这个故事来讽刺现实,他建议每个人按照自己喜欢的方式做事。
来源:格列佛游记
通信,一个不能有个性的世界
日常工作或学习中,有的同学喜欢针对学习的东西做一些速记,笔记潦草,还是用很多自己杜撰的缩略语。当另外一位同学看这份笔记时,必然有很多地方无法理解或者理解错误,但是笔记的记录者却可以准确的复述笔记的内容。这里其实原理很简单,记录者知道自己记录的规则,而另一位同学不知道,此处的笔记本身也只是记录者为自己后续复习准备的,而不是为了交流。
而我们常常说的通信其目的便是交流,作为通信的双方必须都知道交流的信息的规则。为了达成这个目的,通常有两种方式:
- 通信双方提前约定好规则,就类似一些黑话,“风紧扯呼”,不懂的人肯定莫名奇妙,但是知道规则的人听到后大概率要撤退了。我们日常生活中也有下图这种“黑话”,哈哈。。。
来源: “社会人儿”日常黑话全攻略(2)-皮皮自媒体 (pp00.com)
- 在通信的内容前面把规则加上,其实就例如我们给另一个同事发送一个表格,如果里面只是一些数字,对方肯定莫名奇妙,但是如果额外有一列表头描述,后面的信息自然就很容易知道什么意思。
总而言之,通信不允许耍个性,需要大家遵守统一的规则,而大小端(Big Endian & Little Endian,沿用格列佛游记的大小端拨蛋之战)其实就是其中需要确定的规则(黑话)之一。那么问题可能又来了,通信领域的大小端之争到底定义了一个什么方面的”黑话“呢?分别具体是什么意思呢?