public static String bytes2HexString(byte[] b) {
String ret = "";
for (int i = 0; i < b.length; i++) {
String hex = Integer.toHexString(b[i] & 0xFF);
if (hex.length() == 1) {
hex = '0' + hex;
}
// String hex =Integer.toHexString(i)
ret += hex.toUpperCase();
}
return ret;
}
public static byte[] hexString2Bytes(String str) {
byte[] bytes=new byte[str.length()>>1];
for (int i = 0;i < str.length(); i+=2) {
// bytes[i>>1]=(byte)Integer.parseInt((str.charAt(i)+""+str.charAt(i+1)), 16);
// bytes[i>>1]=(byte)hexStringToByte(str.charAt(i)+""+str.charAt(i+1));
}
return bytes;
}
public static byte hexStringToByte(String s) throws NumberFormatException{
int radix=16;
int result = 0;
boolean negative = false;
int i = 0, len = s.length();
int digit;
if (len > 0) {
while (i < len) {
digit = Character.digit(s.charAt(i++),radix);
result *= radix;
result -= digit;
}
}
return (byte)(negative ? result : -result);
}
Java Hex 16进制的 byte String 转换
最新推荐文章于 2021-11-30 17:38:04 发布