一、byte转换成bit字符串
final static char[] digits = { '0', '1' };
public static String toBinaryString(byte b) {
char[] buff = new char[8];
int charPos = 8;
do {
buff[--charPos] = digits[b & 1];
b >>>= 1;
} while (charPos > 0);
return new String(buff);
}
二、bit字符串转换成byte。支持8 bit和4 bit字节转换.如果是4bit,则占低位
public static byte decodeBinaryString(String byteStr) {
int re, len;
if (null == byteStr) {
return 0;
}
len = byteStr.length();
if (len != 4 && len != 8) {
return 0;
}
if (len == 8) {// 8 bit处理
if (byteStr.charAt(0) == '0') {// 正数
re = Integer.parseInt(byteStr, 2);
} else {// 负数
re = Integer.parseInt(byteStr, 2) - 256;
}
} else {//4 bit处理
re = Integer.parseInt(byteStr, 2);
}
return (byte) re;
}
分享到:
2012-05-25 14:32
浏览 1011
评论