参考文献:
1. 官方CA协议说明: https://epics.anl.gov/base/R3-16/1-docs/CAproto/index.html#_data_types
2. 优快云博主lspbeyond的博文《关于Big Endian 和 Little Endian》: https://blog.youkuaiyun.com/sunshine1314/article/details/2309655
字节序——big endian 和 little endian
endian指的是当物理存储的最小单元比数据逻辑的最小单元小时,数据逻辑到物理存储的单元排布关系。咱们接触到的物理存储单元最小都是“字节byte”,在通信领域中,这里往往是“位bit”,不过原理也是类似的。
不同CPU、不同程序语言的存储数据的方式可能不同,一个存储块,低地址存的是数据的低字节还是高字节?对这一问题的两个处理方式就产生了big endian和little endian两种存储方式。其中,big endian方式在低地址存储数据的高字节。little endian方式在低地址存储数据的低字节。
例如,对于十六进制数据0x1234ABCD,两种存储情况如图1所示。

可以看出,big endian更符合我们的阅读习惯。所有网络协议都是采用big endian的方式来传输数据的,所以有时我们也会把big endian方式称之为网络字节序。
需要注意的是,不同字节序的主机之间进行通信、不同字节序的程序语言之间进行调用时,有必要关注一下字节序的问题。
那么我想说的是,EPICS的CA协议采用big endian字节序传输数据。
CA协议定义的数据类型
