java二进制格式字符串转二进制
时间: 2024-09-20 10:13:28 浏览: 46
在Java中,将二进制格式的字符串转换为整数或字节数组通常涉及到`Integer.parseInt()`或`Byte.parseByte()`方法,如果字符串是以"0b"或"0x"前缀表示八进制或十六进制,还可以使用`Integer.valueOf()`和`Byte.valueOf()`。以下是具体的例子:
```java
// 无前缀的二进制字符串转为整数
String binaryString = "1010";
int intValue = Integer.parseInt(binaryString, 2); // 将二进制字符串解析为十进制
// 带有前缀"0b"的二进制字符串转为整数
String binaryPrefixString = "0b1010";
int valueWithPrefix = Integer.parseInt(binaryPrefixString.substring(2), 2);
// 转换为字节
byte byteArray[] = { (byte) Integer.parseInt(binaryString, 2) };
// 如果需要转换成字节流,可以这样做
byte[] byteStream = new byte[]{ '1', '0', '1', '0' }; // 假设是从字符串中提取出的四个字符
```
相关问题
java 二进制转换位字符串输出
可以使用 `Integer.toBinaryString()` 方法将一个整数转换为二进制字符串,例如:
```java
int num = 42;
String binaryStr = Integer.toBinaryString(num);
System.out.println(binaryStr);
```
这将输出 `101010`,即 42 的二进制表示。如果要输出指定位数的二进制字符串,可以使用 `String.format()` 方法对输出结果进行格式化,例如:
```java
int num = 42;
String binaryStr = String.format("%8s", Integer.toBinaryString(num)).replace(' ', '0');
System.out.println(binaryStr);
```
这将输出 `00101010`,即 42 的 8 位二进制表示。
java 机械码二进制转换位字符串输出
可以使用Java内置的Integer类的toBinaryString方法来将十进制整数转换为二进制字符串,然后使用String.format方法将二进制字符串格式化为指定位数的字符串输出。下面是一个示例代码:
```java
public class BinaryConversion {
public static void main(String[] args) {
// 十进制整数
int num = 123;
// 将十进制整数转换为二进制字符串
String binaryStr = Integer.toBinaryString(num);
// 将二进制字符串格式化为8位字符串输出
String formattedStr = String.format("%8s", binaryStr).replace(' ', '0');
System.out.println(formattedStr); // 输出:01111011
}
}
```
说明:
- Integer.toBinaryString(num)将十进制整数num转换为二进制字符串。
- String.format("%8s", binaryStr)将二进制字符串格式化为8位字符串,不足8位的在左侧补空格。
- .replace(' ', '0')将空格替换为0,得到真正的二进制字符串。
- 最后输出格式化后的二进制字符串。
阅读全文