java byte数组转换成0和1的二进制
时间: 2023-02-08 07:11:10 浏览: 122
可以使用以下代码将Java中的byte数组转换为0和1的二进制字符串:
```java
byte[] bytes = ...;
StringBuilder binary = new StringBuilder();
for (byte b : bytes) {
int val = b;
for (int i = 0; i < 8; i++) {
binary.append((val & 128) == 0 ? 0 : 1);
val <<= 1;
}
}
System.out.println(binary.toString());
```
这段代码会遍历 byte 数组中的所有字节,并将每个字节的二进制位按顺序添加到一个StringBuilder对象中。使用 & 运算符和 128 对每一位进行判断。
可以尝试使用这段代码将自己的byte数组转换为二进制字符串进行检验.
相关问题
byte数组转换成0和1的二进制
将byte数组中的每一个元素转换为8位二进制数,然后将这8位二进制数连起来即可得到0和1的二进制串。
以下是Java代码示例:
```java
public static String byteToBinary(byte[] bytes) {
StringBuilder binary = new StringBuilder();
for (byte b : bytes) {
for (int i = 7; i >= 0; i--) {
binary.append((b >> i) & 1);
}
}
return binary.toString();
}
```
其中,`>>` 运算符表示右移操作,`&` 运算符表示按位与操作。循环中的 `i` 变量表示当前处理的二进制位数,从 7 开始递减到 0,保证了每个字节都被转换为了8位二进制数。最终将所有二进制数连成一个字符串并返回。
java byte数组转二进制
Java 中可以使用 Integer 类的 toBinaryString() 方法将 byte 数组转换为二进制字符串,代码示例如下:
```java
byte[] bytes = {0x12, 0x34, 0x56};
StringBuilder sb = new StringBuilder();
for (byte b : bytes) {
sb.append(String.format("%8s", Integer.toBinaryString(b & 0xFF)).replace(' ', '0'));
}
String binaryStr = sb.toString();
System.out.println(binaryStr); // 输出:00010010 00110100 01010110
```
上述代码中,我们先将 byte 数组中的每个元素转换为无符号整数(即使用 b & 0xFF),再使用 Integer.toBinaryString() 方法将其转换为二进制字符串,最后使用 String.format() 方法补充前导零,并将每个字节的二进制字符串拼接起来。
阅读全文