java 大小端转换

论坛 期权论坛 脚本     
匿名网站用户   2020-12-20 00:17   11   0

在计算机系统中以字节为单位,每个地址单元都对应一个字节即8bit.

不同端模式的处理器进行数据传递时必须考虑端模式的不同,在网络上传输数据时,由于数据传输的两端对应不同的硬件平台,采用的存储字节顺序可能不一致。

TCP/IP协议规定网络上必须采用网络字节顺序。


public static void printLittleEndian(int i) {
byte[] b = new byte[4];
b[0] = (byte) (0xff & i);
b[1] = (byte) ((0xff00 & i) >> 8);
b[2] = (byte) ((0xff0000 & i) >> 16);
b[3] = (byte) ((0xff000000 & i) >> 24);
for (byte c : b) {
System.out.print("0x" + Integer.toHexString(c & 0xFF) + ",");
}
System.out.println();
}
public static void printBigEndian(int i) {
byte[] b = new byte[4];
b[3] = (byte) (0xff & i);
b[2] = (byte) ((0xff00 & i) >> 8);
b[1] = (byte) ((0xff0000 & i) >> 16);
b[0] = (byte) ((0xff000000 & i) >> 24);
for (byte c : b) {
System.out.print("0x" + Integer.toHexString(c & 0xFF) + ",");
}
System.out.println();
}

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:1136255
帖子:227251
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP