Java 功能类似于 javascript 中的 atob
Similar Java function like atob in javascript
我有由 btoa
java 脚本函数编码的查询参数。单击 url 时,请求函数在 java 控制器内部调用,我想在其中解码查询参数(从 javascript btoa 编码)。我试过 BASE64Decoder
和 Base64.getDecoder()
但无法获得正确的值。还有其他方法吗?
Java 控制器
@RequestMapping(value = "decode/{email}", method = RequestMethod.GET)
public String decodeEmail(Model model, @PathVariable String email){
Decode decode = new Decode();
decode.setEmail(email);
decodeService.save(decode);
return "decode/List";
}
Java脚本
var email = document.getElementById("email").value;
var encodedEmail = btoa(email);
例子
要编码的字符串:demo@demo.com
编码字符串:ZGVtb0BkZW1vLmNvbQ==
您的问题的答案在这里使用 apache 库:Base64 Encoding in Java
否则 wiki 定义的实现将执行:https://en.wikipedia.org/wiki/Base64#Sample_Implementation_in_Java
Java 8 有一个新的 Base64 包:
public void test() {
String s = "demo@demo.com";
String encoded = new String(Base64.getEncoder().encode(s.getBytes()));
String decoded = new String(Base64.getDecoder().decode(encoded));
System.out.println("S: " + s + " -> " + encoded + " -> " + decoded);
}
打印
S: demo@demo.com -> ZGVtb0BkZW1vLmNvbQ== -> demo@demo.com
还有其他 encoder/decoder 对 - 您可能会发现 mime encoder 适合您的需要。
我有由 btoa
java 脚本函数编码的查询参数。单击 url 时,请求函数在 java 控制器内部调用,我想在其中解码查询参数(从 javascript btoa 编码)。我试过 BASE64Decoder
和 Base64.getDecoder()
但无法获得正确的值。还有其他方法吗?
Java 控制器
@RequestMapping(value = "decode/{email}", method = RequestMethod.GET)
public String decodeEmail(Model model, @PathVariable String email){
Decode decode = new Decode();
decode.setEmail(email);
decodeService.save(decode);
return "decode/List";
}
Java脚本
var email = document.getElementById("email").value;
var encodedEmail = btoa(email);
例子
要编码的字符串:demo@demo.com
编码字符串:ZGVtb0BkZW1vLmNvbQ==
您的问题的答案在这里使用 apache 库:Base64 Encoding in Java
否则 wiki 定义的实现将执行:https://en.wikipedia.org/wiki/Base64#Sample_Implementation_in_Java
Java 8 有一个新的 Base64 包:
public void test() {
String s = "demo@demo.com";
String encoded = new String(Base64.getEncoder().encode(s.getBytes()));
String decoded = new String(Base64.getDecoder().decode(encoded));
System.out.println("S: " + s + " -> " + encoded + " -> " + decoded);
}
打印
S: demo@demo.com -> ZGVtb0BkZW1vLmNvbQ== -> demo@demo.com
还有其他 encoder/decoder 对 - 您可能会发现 mime encoder 适合您的需要。