该方法返回长度为32的byte数组
byte[] bytes = new byte[32] 不是 byte[] bytes = new byte[4]
public static byte[] StringToBinary(String strIP){
String stringIP = strIP.replace(".", " ");//用空格取代点
String[] stringIP_Splits = stringIP.split(" "); //将IP地址字符串以空格切割
StringBuffer ipV4 = new StringBuffer(); //创建一个StringBuffer来拼接字符串
for (String string : stringIP_Splits) {
int parseInt = Integer.parseInt(string);
String string3 = Integer.toBinaryString(parseInt);
// System.out.println(string3); //输出二进制字符串
int length; // 判定长度为8位,不足8位,前面补0
if((length=string3.length())<8){
for (int i = 0; i < 8-length; i++) {
ipV4.append("0");
}
}
ipV4.append(string3);
}
System.out.println(ipV4.toString());
byte[] bs = ipV4.toString().getBytes();
return bs;
}