This two days using Java for message encoding and decoding, always encountered a problem, need to give byte assignment.
Such as
It is quite troublesome to assign the value of a first address to a variable of AA. I wrote one today, record it.
public static byte generatebyte (String s) {
byte tmp = 0;
char[] arr = S.tochararray ();
if (Arr.length > 2) {return
tmp;
}
int t0 = Integer.parseint (character.tostring (arr[0));
int T1 = Integer.parseint (character.tostring (arr[1));
byte tmp0 = (byte) t0;
byte Tmp1 = (byte) t1;
TMP = (byte) (Tmp0 << 4);
TMP = (byte) (tmp | tmp1);
return tmp;
}
byte array Print code
/** * * @Title: Gethexbyte * @Description: Converts a binary stream into a printable string type * @para
M b: Need to print the stream * @param start: Print start point * @param length: Print length * @return * @return: StringBuilder * *
public static StringBuilder Gethexbyte (byte[] b,int start, int length) {int t = 0;
StringBuilder sb = new StringBuilder (); for (int i = start; I < start + length; i++) {if (i > 2 && b[i-1] = = ' U ' && b[i-2] = = '
U ') {break;
String hex = integer.tohexstring (B[i] & 0xFF);
if (hex.length () = = 1) {hex = ' 0 ' + hex;
} sb.append (""). Append (Hex.touppercase ());
t++;
if (t% = = 0) {sb.append ("\ n");
} sb.append ("\ n");
return SB; }