JS方法atob(decodeURIComponent(str))用Java怎么实现
时间: 2024-01-21 13:04:23 浏览: 23
Java中同样有提供Base64编码和解码的工具类,可以通过使用Java的Base64类来实现JS方法atob(decodeURIComponent(str))的功能。具体实现步骤如下:
1. 导入Java的Base64类。
```
import java.util.Base64;
```
2. 将经过decodeURIComponent编码的字符串进行URL解码。
```
String decodedStr = URLDecoder.decode(str, "UTF-8");
```
3. 将解码后的字符串进行base64解码。
```
byte[] decodedBytes = Base64.getDecoder().decode(decodedStr);
```
4. 将解码后的byte数组转换为原始字符串。
```
String result = new String(decodedBytes, "UTF-8");
```
完整实现代码如下:
```
import java.util.Base64;
import java.net.URLDecoder;
import java.io.UnsupportedEncodingException;
public class Base64Decode {
public static void main(String[] args) throws UnsupportedEncodingException {
String str = "SGVsbG8gV29ybGQh";
String decodedStr = URLDecoder.decode(str, "UTF-8");
byte[] decodedBytes = Base64.getDecoder().decode(decodedStr);
String result = new String(decodedBytes, "UTF-8");
System.out.println(result); // 输出 "Hello World!"
}
}
```
需要注意的是,Java的Base64类的解码方法解码出来的是byte数组,需要根据具体的编码方式来转换为原始字符串。