JAVA开发中字节转换问题(byte数组byte数组、合并、转换16进制)

1.合并多个byte数组内容

2.byte数组转换为16进制

3.byte转换16进制

4.byte数组倒序排列

5.int整数转换为4字节的byte数组
	/**
	 * @Title: sysCopy
	 * @Description: 合并多个byte[]内容
	 * @param srcArrays
	 * @return
	 * @return byte[] 返回类型
	 * @throws
	 */
	private static byte[] sysCopy(List<byte[]> srcArrays) {
		int len = 0;
		for (byte[] srcArray : srcArrays) {
			len += srcArray.length;
		}
		byte[] destArray = new byte[len];
		int destLen = 0;
		for (byte[] srcArray : srcArrays) {
			System.arraycopy(srcArray, 0, destArray, destLen, srcArray.length);
			destLen += srcArray.length;
		}
		return destArray;
	}



	/**
	 * @Title: bytes2HexString
	 * @Description: byte[]转换16进制
	 * @param b
	 * @return
	 * @return String 返回类型
	 * @throws
	 */
	private static String bytes2HexString(byte[] b) {
		String ret = "";
		for (int i = 0; i < b.length; i++) {
			String hex = Integer.toHexString(b[i] & 0xFF);
			if (hex.length() == 1) {
				hex = '0' + hex;
			}
			ret += hex.toUpperCase();
		}
		return ret;
	}

	/**
	 * @Title: byte2HexString
	 * @Description: byte转换16进制
	 * @param b
	 * @return
	 * @return String 返回类型
	 * @throws
	 */
	private static String byte2HexString(byte b) {
		String ret = "";
		String hex = Integer.toHexString(b & 0xFF);
		if (hex.length() == 1) {
			hex = '0' + hex;
		}
		ret += hex.toUpperCase();
		return ret;
	}

	/**
	 * @Title: getReverse
	 * @Description: byte[]倒序排列
	 * @param t
	 * @return
	 * @return byte[] 返回类型
	 * @throws
	 */
	private static byte[] getReverse(byte[] t) {
		for (int start = 0, end = t.length - 1; start < end; start++, end--) {
			byte temp = t[end];
			t[end] = t[start];
			t[start] = temp;
		}
		return t;
	}

	/**
	 * @Title: intToByte4
	 * @Description: int整数转换为4字节的byte数组
	 * @param i
	 * @return
	 * @return byte[] 返回类型
	 * @throws
	 */
	private static byte[] intToByte4(int i) {
		byte[] targets = new byte[4];
		targets[3] = (byte) (i & 0xFF);
		targets[2] = (byte) (i >> 8 & 0xFF);
		targets[1] = (byte) (i >> 16 & 0xFF);
		targets[0] = (byte) (i >> 24 & 0xFF);
		return targets;
	}

	


  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值