时间记录:2020-1-22
问题描述:在接受别人传递过来的字节数组的时候,然后发现数据和其的测试程序表现的不一致,通过打印16进制的数据来看发现,数据的顺序是颠倒的,想到了字节的顺序问题,也就是大端序和小端序。
字义解释:
数据存储在内容中,是以什么样的字节顺序,也就是指是从高位还是地位开始存储的,一般情况相下都是以小段序的来存储,也就是从低位开始存储的,但是在网络传输过程中,都是默认的以大端序来传递的,也就是从高位开始,我们再发送数据的时候回将小端序转换为大端序,然后在进行发送的操作。而有的时候由于机器的特殊性,导致到数据的顺序不一致,就需要自己进行约定操作。java中默认是以大端序来进行的
相关操作:
在java中也提供了类似的API,将自己以什么样的顺序来进行展示的操作
/**
* Modifies this buffer's byte order.
*
* @param bo
* The new byte order,
* either {@link ByteOrder#BIG_ENDIAN BIG_ENDIAN}
* or {@link ByteOrder#LITTLE_ENDIAN LITTLE_ENDIAN}
*
* @return This buffer
*/
public