您的位置:首页 > 其它

将字符串转换成16进制字节数组和16进制数组的小方法

2016-02-26 14:28 489 查看
一、将字符串转换成int数组

/**
* 将字符串转换为16进制int数组
* @param hexString
* @return returnBytes
*/
private static int[] strToToHexByte(String hexString) {
  hexString = hexString.replace(" ", "");
  // 如果长度不是偶数,就在后面添加空格
  if ((hexString.length() % 2) != 0) {
    hexString += " ";
  }
  // 定义一个数组,长度是待转换数组长度的一半
  int[] returnBytes = new int[hexString.length() / 2];
  for (int i = 0; i < returnBytes.length; i++) {
    returnBytes[i] = (0xff & Integer.parseInt(hexString.substring(i * 2, i * 2 + 2), 16));
  }
  return returnBytes;
}

二、将字符串转换成16进制字节数组

/**
* 将字符串转换成16进制字节数组
* @param str
* @return byte[]
*/
public static byte[] stringToByte16(String str) {
  str = str.replace(" ", "");
  if ((str.length() % 2) != 0) {
    str += " ";
  }
  byte[] by = new byte[str.length() / 2];
  for (int i = 0; i < str.length() / 2; ++i) {
    by[i] = (byte)(Integer.parseInt(str.substring(i * 2,i * 2 + 2),16) & 0xff);
  }
  return by;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: