Java - byte[] 和 String互相转换
时间: 2023-09-02 13:09:48 浏览: 128
可以使用以下两种方式将 byte[] 和 String 互相转换:
1. 使用 String 类的构造函数和 getBytes() 方法:
将 byte[] 转换为 String:
```java
byte[] byteArray = {...};
String str = new String(byteArray);
```
将 String 转换为 byte[]:
```java
String str = "...";
byte[] byteArray = str.getBytes();
```
2. 使用 Base64 编码和解码:
将 byte[] 转换为 String:
```java
import java.util.Base64;
byte[] byteArray = {...};
String str = Base64.getEncoder().encodeToString(byteArray);
```
将 String 转换为 byte[]:
```java
import java.util.Base64;
String str = "...";
byte[] byteArray = Base64.getDecoder().decode(str);
```
相关问题
java中 RSA 公钥与String类型互相转换
在 Java 中,可以使用 `java.security.Key` 接口来表示 RSA 公钥,而 `java.lang.String` 类型则是常见的字符串类型。可以通过以下步骤将 RSA 公钥与字符串类型互相转换:
1. 将 RSA 公钥转换为字符串类型
```java
// 假设 publicKey 是已经生成的 RSA 公钥
String publicKeyString = Base64.getEncoder().encodeToString(publicKey.getEncoded());
```
2. 将字符串类型转换为 RSA 公钥
```java
// 假设 publicKeyString 是保存的 RSA 公钥字符串
byte[] publicKeyBytes = Base64.getDecoder().decode(publicKeyString);
X509EncodedKeySpec publicKeySpec = new X509EncodedKeySpec(publicKeyBytes);
KeyFactory keyFactory = KeyFactory.getInstance("RSA");
PublicKey publicKey = keyFactory.generatePublic(publicKeySpec);
```
需要注意的是,在字符串类型和 RSA 公钥之间进行转换时,通常需要进行 Base64 编码和解码。同时,还需要使用 `java.security.spec.X509EncodedKeySpec` 类来表示 RSA 公钥的规范。
byte[]和string互相转化
Java中byte[]和string互相转化可以使用以下方法:
1. byte[]转string
```java
byte[] byteArray = { 72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100 };
String str = new String(byteArray, StandardCharsets.UTF_8); // 使用UTF-8编码
System.out.println(str); // 输出:Hello World
```
2. string转byte[]
```java
String str = "Hello World";
byte[] byteArray = str.getBytes(StandardCharsets.UTF_8); // 使用UTF-8编码
System.out.println(Arrays.toString(byteArray)); // 输出:[72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100]
```
注意:在转换过程中,需要指定正确的编码方式,否则可能会出现乱码或者转换失败的情况。
阅读全文