前言
最近在操作蓝牙的时候,记录一下常用的操作
目录
- 16进制的byte与String转换
- 16进制与10进制的互相转换
- 2进制与16进制的互相转换
- 2进制与10进制的互相转换
- 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();
}
以上是常用的转换,如果有没有的,可以两部转换
希望这篇文章可以帮助到需要的人,如果还有其他问题或者补充可以评论~~~
如果有帮助记得点赞哦!