byte数组转2进制
时间: 2023-08-29 10:07:58 浏览: 165
将byte数组中的每个元素转换为二进制字符串,然后拼接起来即可。示例代码如下:
```java
public static String byteToBinary(byte[] bytes) {
StringBuilder binaryStr = new StringBuilder();
for (byte b : bytes) {
// 将byte转为无符号整数
int unsignedByte = b & 0xff;
// 转为8位二进制字符串
String byteStr = Integer.toBinaryString(unsignedByte);
byteStr = String.format("%8s", byteStr).replace(' ', '0');
binaryStr.append(byteStr);
}
return binaryStr.toString();
}
```
使用方法:
```java
byte[] bytes = {0x12, 0x34, (byte) 0xab, (byte) 0xcd};
String binaryStr = byteToBinary(bytes);
System.out.println(binaryStr); // 输出: 00010010001101001010101111001101
```
相关问题
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() 方法补充前导零,并将每个字节的二进制字符串拼接起来。
android byte数组转16进制string
可以使用以下代码将 byte 数组转换为 16 进制字符串:
```java
public static String bytesToHex(byte[] bytes) {
StringBuilder hexString = new StringBuilder();
for (byte b : bytes) {
String hex = Integer.toHexString(0xFF & b);
if (hex.length() == 1) {
hexString.append('0');
}
hexString.append(hex);
}
return hexString.toString();
}
```
调用方法:
```java
byte[] byteArray = {0x01, 0x02, 0x03, (byte)0xFF};
String hexString = bytesToHex(byteArray);
System.out.println(hexString); // 输出:010203ff
```
注意:Java 中的 byte 类型是有符号的,范围为 -128 到 127。如果需要将 8 位二进制数表示的无符号数转为 byte 类型,可以使用 `int` 类型与 `0xFF` 进行按位与运算,如 `(byte)0xFF`。
阅读全文