文章内容
1、byte数组转换为二进制字符串,每个字节以”,”隔开
01 02 03 04 05 06 07 08 09 10 11 12 13 14 | /** * byte数组转换为二进制字符串,每个字节以","隔开 * * @param b * @return */ public static String parseBytesTo2Hex( byte [] b) { StringBuffer result = new StringBuffer(); for ( int i = 0 ; i < b.length; i++) { result.append(Long.toString(b[i] & 0xff , 2 ) + "," ); } return result.toString().substring( 0 , result.length() - 1 ); } |
2、二进制字符串转换为byte数组,每个字节以”,”隔开
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 | /** * 二进制字符串转换为byte数组,每个字节以","隔开 * * @param hex2Str * @return */ public static byte [] parse2HexToBytes(String hex2Str) { String[] temp = hex2Str.split( "," ); byte [] b = new byte [temp.length]; for ( int i = 0 ; i < b.length; i++) { b[i] = Long.valueOf(temp[i], 2 ).byteValue(); } return b; } |
3、byte数组转换为十六进制的字符串
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 | /** * byte数组转换为十六进制的字符串 * * @param b * @return */ public static String parseBytesTo16Hex( byte [] b) { StringBuffer result = new StringBuffer(); for ( int i = 0 ; i < b.length; i++) { if ((b[i] & 0xff ) < 0x10 ) result.append( "0" ); result.append(Long.toString(b[i] & 0xff , 16 )); } return result.toString().toUpperCase(); } |
4、十六进制的字符串转换为byte数组
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 | /** * 十六进制的字符串转换为byte数组 * * @param hex16Str * @return */ public static byte [] parse16HexToBytes(String hex16Str) { char [] c = hex16Str.toCharArray(); byte [] b = new byte [c.length / 2 ]; for ( int i = 0 ; i < b.length; i++) { int pos = i * 2 ; b[i] = ( byte ) ( "0123456789ABCDEF" .indexOf(c[pos]) << 4 | "0123456789ABCDEF" .indexOf(c[pos + 1 ])); } return b; } |