java将字符串转为二进制类型
时间: 2023-09-15 15:16:39 浏览: 151
可以使用 Java 中的 `getBytes()` 方法将字符串转换为字节数组,然后再将字节数组转换为二进制字符串。示例代码如下:
```java
String str = "hello world";
byte[] bytes = str.getBytes();
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());
```
输出结果为:
```
0110100001100101011011000110110001101111001000000111011101101111011100100110110001100100
```
相关问题
如何将字符串转为二进制文件
将字符串转换为二进制文件的步骤如下:
1. 将字符串转换为字节数组。可以使用字符串的 `getBytes()` 方法来实现。
2. 创建一个文件输出流,将字节数组写入文件。
下面是一个示例代码:
```java
import java.io.FileOutputStream;
import java.io.IOException;
public class StringToBinaryFile {
public static void main(String[] args) {
String str = "Hello, world!";
byte[] bytes = str.getBytes();
String filename = "hello.bin";
try (FileOutputStream fos = new FileOutputStream(filename)) {
fos.write(bytes);
System.out.println("Successfully wrote " + bytes.length + " bytes to " + filename);
} catch (IOException e) {
System.err.println("Failed to write to " + filename + ": " + e.getMessage());
}
}
}
```
在上面的代码中,我们首先将字符串 `"Hello, world!"` 转换为字节数组 `bytes`,然后使用 `FileOutputStream` 将字节数组写入文件 `"hello.bin"`。最后输出成功写入的字节数和文件名。
Java中将64进制的字符串转为二进制,再转化为十六进制
以下是Java中将64进制的字符串转为二进制,再转化为十六进制的工具类:
```java
import java.util.Base64;
public class Base64HexUtil {
public static String decodeToHex(String base64Str) {
byte[] bytes = Base64.getDecoder().decode(base64Str);
StringBuilder hex = new StringBuilder();
for (byte b : bytes) {
String hexStr = Integer.toHexString(b & 0xff);
if (hexStr.length() == 1) {
hex.append("0");
}
hex.append(hexStr);
}
return hex.toString();
}
}
```
使用示例:
```java
String base64Str = "SGVsbG8sIHdvcmxkIQ==";
String hexStr = Base64HexUtil.decodeToHex(base64Str);
System.out.println(hexStr); // "48656c6c6f2c20776f726c6421"
```
注意:该工具类将64进制的字符串先转为二进制,再将二进制转为十六进制。如果需要将64进制的字符串直接转为十六进制,可以使用第三方库实现。
阅读全文