Hex2Util.java 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. package com.izouma.nineth.utils;
  2. /**
  3. * <p>二进制转换工具类</p>
  4. * @author licoy.cn
  5. * @version 2018/9/5
  6. */
  7. public class Hex2Util {
  8. /**
  9. * 二进位组转十六进制字符串
  10. * @param buf 二进位组
  11. * @return 十六进制字符串
  12. */
  13. public static String parseByte2HexStr(byte buf[]) {
  14. StringBuilder sb = new StringBuilder();
  15. for (byte b : buf) {
  16. String hex = Integer.toHexString(b & 0xFF);
  17. if (hex.length() == 1) {
  18. hex = '0' + hex;
  19. }
  20. sb.append(hex.toUpperCase());
  21. }
  22. return sb.toString();
  23. }
  24. /**
  25. * 十六进制字符串转二进位组
  26. * @param hexStr 十六进制字符串
  27. * @return 二进位组
  28. */
  29. public static byte[] parseHexStr2Byte(String hexStr) {
  30. if (hexStr.length() < 1) return null;
  31. byte[] result = new byte[hexStr.length() / 2];
  32. for (int i = 0; i < hexStr.length() / 2; i++) {
  33. int high = Integer.parseInt(hexStr.substring(i * 2, i * 2 + 1), 16);
  34. int low = Integer.parseInt(hexStr.substring(i * 2 + 1, i * 2 + 2), 16);
  35. result[i] = (byte) (high * 16 + low);
  36. }
  37. return result;
  38. }
  39. }