您的位置:首页 > 编程语言 > Java开发

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

2017-09-27 19:09 489 查看
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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: