1、实现string转换为byte数组,例如:将“9192”转换为0x91和0x92
public static int HexStringToByte(String in, byte[] b)
{
int j=0;
if (b.length < in.length() / 2) {
System.out.println("byte array too small");
return j;
}
StringBuffer buf = new StringBuffer(2);
for (int i=0; i < in.length();i++)
{
buf.insert(0, in.charAt(i));
buf.insert(1, in.charAt(i+1));
int t = Integer.parseInt(buf.toString(),16);
System.out.println("byte hex value:" + t);
b[j] = (byte)t;
i++;
j++;
buf.delete(0,2);
}
return j;
}
2、实现byte数组转换为string,例如:将0x91和0x92转化为“91 92”
public String BytesToHexString(byte[] inBytes)
{
int RetStringLen = inBytes.length;
String revStr[] = new String[RetStringLen];
for (int j = 0; j < RetStringLen; j++) {
String tempStr = Integer.toHexString((int) inBytes[j]);
if (tempStr.length() == 1) {
revStr[j] = "0" + tempStr;
} else {
revStr[j] = tempStr.substring(tempStr.length() - 2);
}
}
int m = 0;
/* String sendToClientStr = revStr[0] + " ";
for (m = 1; m < revStr.length; m++) {
sendToClientStr = sendToClientStr + revStr[m] + " ";
if (m % 15 == 14) {
sendToClientStr = sendToClientStr + '\n';
}
}*/
String Retstr = "";
for(m=0;m<RetStringLen; m++){
Retstr = Retstr + revStr[m]+ " ";
}
return Retstr;
}