欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java中16进制byte与String,2进制,10进制,16进制的互相转换

程序员文章站 2024-03-16 22:34:40
...

前言

CSDN博客地址
GitHub https://github.com/MrQ-Android

最近在操作蓝牙的时候,记录一下常用的操作

目录

  1. 16进制的byte与String转换
  2. 16进制与10进制的互相转换
  3. 2进制与16进制的互相转换
  4. 2进制与10进制的互相转换
  5. 16进制转Ascii

1). 16进制的byte与String转换

16进制字符串转byte

String str = "A5";
byte res = (byte) Integer.parseInt(str, 16)

16进制byte转String字符串

String res = String.format("%02x", new Integer(b & 0xff)).toUpperCase()

2). 16进制转10进制的互相转换

16进制转10进制

/**
 * 16进制转10进制
 *
 * @param hex
 * @return
 */
public static int hex2decimal(String hex) {
    return Integer.parseInt(hex, 16);
}

10进制转16进制

/**
 * 10进制转16进制
 * @param i
 * @return
 */
public static String demical2Hex(int i) {
    String s = Integer.toHexString(i);
    return s;
}

3). 2进制与16进制的互相转换

16进制转2进制

/**
 * 16进制转2进制
 *
 * @param hex
 * @return
 */
public static String hexStringToByte(String hex) {
    int i = Integer.parseInt(hex, 16);
    String str2 = Integer.toBinaryString(i);
    return str2;
}

4). 2进制与10进制的互相转换

2进制转10进制

/**
 * 2进制转10进制
 *
 * @param bytes
 * @return
 */
public static int ByteToDecimal(String bytes) {
    return Integer.valueOf(bytes, 2);
}

10进制转2进制

/**
 * 10进制转2进制
 * @param n
 * @return
 */
public static String Demical2Byte(int n) {
    String result = Integer.toBinaryString(n);
    return result;
}

5).16进制转Ascii

/**
 * 16进制转ascii
 *
 * @return
 */
public static String getASCIIFromHexStr(String str) {
    if (TextUtils.isEmpty(str)) {
        return "";
    }
      StringBuilder sb = new StringBuilder();
      int result = Integer.parseInt(split[i], 16);
      char c = (char) result;
      sb.append(c);
      return sb.toString();
}

以上是常用的转换,如果有没有的,可以两部转换

希望这篇文章可以帮助到需要的人,如果还有其他问题或者补充可以评论~~~
如果有帮助记得点赞哦!