java实现js端的escape和unescape

1、今天遇到这么个问题,需要把一些特殊字符传递到后台进行处理,例如Aa111111!@#,结果到了后台出现了个别字符中文符号了。这个时候需要转码。常见的就是js端的escape和unescape这种函数。

2、但是,我的场景是页面js进行escape,需要java接收数据再unescape

3、有很多写法,有的是自己写一个unescape实现的工具类,我用的是更为简便的写法,如下:

ScriptEngineManager sem = new ScriptEngineManager();  
ScriptEngine engine = sem.getEngineByExtension("js");  
Object res = engine.eval("escape('Aa111111!@#')");  
System.out.println(res); 
Object res1 = engine.eval("unescape('Aa111111%21@%23')");  
System.out.println(res1);

 

点赞