new BASE64Decoder().decodeBuffer()
时间: 2023-12-07 15:05:26 浏览: 51
BASE64Decoder 是一个已经废弃的类,不建议使用。如果你想要使用 Base64 解码,可以使用 Java 8 中的 java.util.Base64 类的静态方法来实现。以下是示例代码:
```java
import java.util.Base64;
public class Main {
public static void main(String[] args) {
String encodedString = "SGVsbG8gV29ybGQh"; // Base64 编码的字符串
byte[] decodedBytes = Base64.getDecoder().decode(encodedString);
String decodedString = new String(decodedBytes);
System.out.println(decodedString);
}
}
```
在上面的示例中,我们使用 `Base64.getDecoder().decode()` 方法来解码 Base64 编码的字符串。解码后的字节数组可以通过构造一个新的字符串来获取原始的文本内容。
相关问题
byte[] encPubKey = Base64.getDecoder().decodeBuffer(pubKeyBase64);怎么改
`Base64.getDecoder().decodeBuffer` 是 Java 7 或更早版本中 `sun.misc.BASE64Decoder` 类的方法,不推荐使用。如果你使用的是 Java 8 或更高版本,可以使用 `Base64.getDecoder().decode` 方法来解码 Base64 编码的字符串。
以下是将 Base64 编码的公钥字符串 `pubKeyBase64` 解码为字节数组 `encPubKey` 的示例代码:
```
byte[] encPubKey = Base64.getDecoder().decode(pubKeyBase64);
```
这里使用了 Java 8 中推荐的 `Base64.getDecoder().decode` 方法,它将 Base64 编码的字符串解码为字节数组并返回结果。
请注意,对于 Java 7 或更早版本,你可以使用 `sun.misc.BASE64Decoder` 类,但是请注意该类不是公开 API,因此使用它可能会导致不可预知的问题。如果你使用的是 Java 7 或更早版本,可以使用以下代码将 Base64 编码的字符串解码为字节数组:
```
byte[] encPubKey = new BASE64Decoder().decodeBuffer(pubKeyBase64);
```
但是请注意,使用不推荐使用的 `BASE64Decoder` 类可能会导致安全问题,因此最好升级到 Java 8 或以上,并使用 `Base64.getDecoder().decode` 方法来替代。
import sun.misc.BASE64Decoder是什么
根据提供的引用内容,import sun.misc.BASE64Decoder是Java中的一个类,它属于sun.misc包,用于将BASE64编码的字符串解码为原始数据。在Java 9中,sun.misc包已被标记为不推荐使用,因此不建议在生产环境中使用该类。如果需要使用BASE64解码,请使用java.util.Base64类。以下是一个使用sun.misc.BASE64Decoder解码的例子:
```java
import sun.misc.BASE64Decoder;
import java.io.IOException;
public class Base64DecoderExample {
public static void main(String[] args) {
String encodedString = "SGVsbG8gV29ybGQh"; // 编码后的字符串
BASE64Decoder decoder = new BASE64Decoder();
try {
byte[] decodedBytes = decoder.decodeBuffer(encodedString);
String decodedString = new String(decodedBytes);
System.out.println(decodedString); // 输出:Hello World!
} catch (IOException e) {
e.printStackTrace();
}
}
}
```