javascript - 类似于 javascript 中的 atob 的 Java 函数

标签 javascript java base64

我有一个由 btoa javascript 函数编码的查询参数。单击 url 时,请求函数在 java Controller 内部调用,我想在其中解码查询参数(从 javascript btoa 编码)。我已经尝试过 BASE64DecoderBase64.getDecoder() 但无法获得正确的值。还有其他方法吗?

Java Controller

@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";
    }

JavaScript

var email = document.getElementById("email").value;
var encodedEmail = btoa(email);

示例

要编码的字符串:demo@demo.com

编码字符串:ZGVtb0BkZW1vLmNvbQ==

最佳答案

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

还有其他编码器/解码器对 - 您可能会发现 mime encoder适合您的需求。

关于javascript - 类似于 javascript 中的 atob 的 Java 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37674016/

相关文章:

java - java线程的共享变量

java - 如何比较日期从java到mysql时间戳字段

java.lang.UnsatisfiedlinkError : Native method not found

javascript - 在不推荐使用 'Escape' 调用的情况下在 JavaScript 中转换为 Base64

c# - Java Base64 编码字符串与 .NET Base64 编码字符串

java - 病毒图像的风险

javascript 从解析的对象中调用 Json Parse

javascript - 以下代码片段中 `this` 值变化的解释?

javascript - 是否可以使用 JavaScript 将 include 标记插入网页?

Javascript 计算给出了太多的零数字