java怎么将字符串转换为utf-8数据再转换为base64数据
时间: 2024-03-17 13:41:53 浏览: 105
可以使用Java提供的Base64和Charset类来实现将字符串转换为UTF-8数据再转换为Base64数据的操作。具体代码如下所示:
```java
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
import java.util.Base64;
public class StringToBase64 {
public static void main(String[] args) {
String str = "Hello, world!"; // 待转换的字符串
// 将字符串转换为UTF-8数据
byte[] utf8Bytes = str.getBytes(StandardCharsets.UTF_8);
// 将UTF-8数据转换为Base64数据
byte[] base64Bytes = Base64.getEncoder().encode(utf8Bytes);
String base64Str = new String(base64Bytes, Charset.forName("UTF-8"));
System.out.println(base64Str); // 输出转换后的Base64字符串
}
}
```
在上述代码中,我们首先使用`getBytes()`方法将字符串转换为UTF-8编码的字节数组,然后使用`Base64`类的`getEncoder()`方法获取Base64编码器,调用其`encode()`方法将字节数组转换为Base64编码的字节数组,最后再将字节数组转换为字符串即可。注意,最后转换为字符串时需要指定字符集为UTF-8,否则会出现乱码。
阅读全文