
时光如梦为您分享以下优质知识
将字节转换为二进制的方法主要分为以下两种情况:
一、单个字节的转换
- 使用`Integer.toBinaryString(b & 0xFF)`或`Byte.toUnsignedInt(b)`方法,确保符号扩展问题。例如:
```java
byte b = 10;
String binaryString = Integer.toBinaryString(b & 0xFF); // 输出 "1010"
```
- 或者直接使用`String.format("%8s", Integer.toBinaryString(b & 0xFF)).replace(' ', '0')`补零至8位。
其他语言参考
- C:`Convert.ToString(byte, 2)`,需手动补零至8位;
- Javascript:`b.toString(2).padStart(8, '0')`。
二、字节数组的转换
遍历字节数组,将每个字节转换为8位二进制字符串后拼接。例如:
```csharp
byte[] bytes = { 0xAA, 0xBB, 0xCC };
string binaryString = string.Join("", bytes.Select(b =>
Convert.ToString(b, 2).PadLeft(8, '0')));
// 输出 "101010101011101110011001"
```
注意事项:
单字节转换时,Java需注意符号扩展问题,建议使用`& 0xFF`强制转换为无符号数;
数组转换时,不同语言需确保二进制位数一致(如8位)。