字符串转二进制数组java
时间: 2024-10-27 20:04:31 浏览: 35
java 二进制数据与16进制字符串相互转化方法
在Java中,你可以使用`Integer.toBinaryString()`方法将字符串转换为二进制字符串,然后利用`toCharArray()`方法将其转换为字符数组,这个字符数组实际上就是二进制数字的数组。这里是一个简单的示例:
```java
public static byte[] stringToBinaryArray(String str) {
// 将字符串转换为二进制字符串
String binaryStr = Integer.toBinaryString(Integer.parseInt(str));
// 转换为字符数组并截取实际二进制部分(去掉前导'0b')
char[] binaryChars = binaryStr.substring(2).toCharArray(); // 假设输入的是十进制数
// 因为每个字符代表一位二进制,所以长度是字节数,需要转换为byte数组
byte[] binaryBytes = new byte[binaryChars.length / 8];
// 将字符数组转换为字节数组,高位到低位
for (int i = 0; i < binaryChars.length; i += 8) {
int byteValue = 0;
for (int j = 0; j < 8 && i + j < binaryChars.length; j++) {
byteValue |= (binaryChars[i + j] - '0') << (7 - j);
}
binaryBytes[i / 8] = (byte) byteValue; // 高位在前
}
return binaryBytes;
}
```
阅读全文