字节数组的大端序和小端序

本文介绍了在处理字节数组时遇到的数据顺序问题,涉及到大端序和小端序的概念。通常,数据存储采用小端序,网络传输则使用大端序。Java默认以大端序处理。在特殊情况下,可能需要手动转换顺序。可以通过读取字节来验证字节顺序,这是一个需要注意的小细节。
摘要由CSDN通过智能技术生成

时间记录: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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值