java中实现十六进制和二进制之间的相互转换

傷城~ 2022-11-04 14:25 341阅读 0赞
  1. public static void main(String[] args) {
  2. String str= "060A04000000C2";
  3. byte byteStr[] = parseHexStr2Byte(str);
  4. System.err.println("二进制结果:"+byteStr);
  5. String dataStr = parseByte2HexStr(byteStr);
  6. System.err.println("十六进制结果:"+dataStr );
  7. }
  8. /** * 将二进制转换成16进制 * * @param buf * @return */
  9. public static void parseByte2HexStr(byte buf[]) {
  10. StringBuffer sb = new StringBuffer();
  11. for (int i = 0; i < buf.length; i++) {
  12. String hex = Integer.toHexString(buf[i] & 0xFF);
  13. if (hex.length() == 1) {
  14. hex = '0' + hex;
  15. }
  16. sb.append(hex.toUpperCase());
  17. }
  18. return sb.toString();
  19. }
  20. /** * 将16进制转换为二进制 * * @param hexStr * @return */
  21. public static byte[] parseHexStr2Byte(String hexStr) {
  22. if (hexStr.length() < 1)
  23. return null;
  24. byte[] result = new byte[hexStr.length() / 2];
  25. for (int i = 0; i < hexStr.length() / 2; i++) {
  26. int high = Integer.parseInt(hexStr.substring(i * 2, i * 2 + 1), 16);
  27. int low = Integer.parseInt(hexStr.substring(i * 2 + 1, i * 2 + 2),
  28. 16);
  29. result[i] = (byte) (high * 16 + low);
  30. }
  31. return result;
  32. }

发表评论

表情:
评论列表 (有 0 条评论,341人围观)

还没有评论,来说两句吧...

相关阅读