4byte,2byte java大小端int和byte互相转化

4byte,2byte java大小端int和byte互相转化,第1张

	//小端模式java int转byte4byte
public static byte[] intToByte4L(int n) {
		byte[] b = new byte[4];
		b[0] = (byte) (n & 0xff);
		b[1] = (byte) (n >> 8 & 0xff);
		b[2] = (byte) (n >> 16 & 0xff);
		b[3] = (byte) (n >> 24 & 0xff);
		return b;
	}

	//小端模式java int转byte  2byte
public static byte[] intToByte2L(int n) {
		byte[] b = new byte[2];
		b[0] = (byte) (n & 0xff);
		b[1] = (byte) (n >> 8 & 0xff);

		return b;
	}
//java小端模式byte转int 4byte

    public static int byte2Int(byte[] b) {
        int intValue = 0;
        byte[] t_byte = {0, 0, 0, 0};

        if (b.length <= 4) {
            System.arraycopy(b, 0, t_byte, 4 - b.length, b.length);
        }
        for (int i = 0; i < t_byte.length; i++) {
            intValue += (t_byte[i] & 0xFF) << (8 * (i));
        }
        return intValue;
    }

//java小端模式byte转int 2byte

    public static int byte2Int(byte[] b) {
        int intValue = 0;
        byte[] t_byte = {0, 0};

        if (b.length <= 2) {
            System.arraycopy(b, 0, t_byte, 2 - b.length, b.length);
        }
        for (int i = 0; i < t_byte.length; i++) {
            intValue += (t_byte[i] & 0xFF) << (8 * (i));
        }
        return intValue;
    }
//java大端模式int转byte  4byte
    public static byte[] intToByte4B(int n) {
        byte[] b = new byte[4];
        b[3] = (byte) (n & 0xff);
        b[2] = (byte) (n >> 8 & 0xff);
        b[1] = (byte) (n >> 16 & 0xff);
        b[0] = (byte) (n >> 24 & 0xff);
        return b;
    }

//java大端模式int转byte  2byte
    public static byte[] intToByte2B(int n) {
        byte[] b = new byte[2];
        b[3] = (byte) (n & 0xff);
        b[2] = (byte) (n >> 8 & 0xff);
        return b;
    }

//JAVA大端模式byte转int 4byte
    public static int byte2Int(byte[] b) {
        int intValue = 0;
        byte[] t_byte = {0, 0, 0, 0};

        if (b.length <= 4) {
            System.arraycopy(b, 0, t_byte, 4 - b.length, b.length);
        }
        for (int i = 0; i < t_byte.length; i++) {
            intValue += (t_byte[i] & 0xFF) << (8 * (3-i));
        }
        return intValue;
    }

//JAVA大端模式byte转int 2byte
    public static int byte2Int(byte[] b) {
        int intValue = 0;
        byte[] t_byte = {0, 0};

        if (b.length <= 2) {
            System.arraycopy(b, 0, t_byte, 2 - b.length, b.length);
        }
        for (int i = 0; i < t_byte.length; i++) {
            intValue += (t_byte[i] & 0xFF) << (8 * (1-i));
        }
        return intValue;
    }

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/719568.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-25
下一篇 2022-04-25

发表评论

登录后才能评论

评论列表(0条)

保存