终端有1024个观测点向服务端传值,如果观测点正常,传递0,如不正常,则传递1,传递方式为128个字节的数组。
服务端获取之后将其转换为长度1024的字符串,最后获取1的索引,即可知道哪个观测点出了问题。
那么如何将字节转换为8个长度的字符串呢,我目前找到两种办法
1.
public static String getBinaryStrFromByte(byte b) {
String result = "";
byte a = b;
for (int i = 0; i < 8; i++) {
result = (a % 2) + result;
a = (byte) (a / 2);
}
return result;
}
2.
import org.apache.commons.lang3.StringUtils;
String binaryString = StringUtils.leftPad(Integer.toBinaryString(tempstatus & 0xff), 8,'0');