进制之间互转

. 16进制的byte与String转换
16进制字符串转byte

String str = "A5";
byte res = (byte) Integer.parseInt(str, 16)
1
2
16进制byte转String字符串

String res = String.format("%02x", new Integer(b & 0xff)).toUpperCase()
1
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();
}

以上是常用的转换,如果有没有的,可以两部转换
————————————————
版权声明:本文为CSDN博主「MrQ_Android」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Justin_1107/article/details/81504774

原文地址:https://www.cnblogs.com/zxadndm/p/11539760.html