`
laotu5i0
  • 浏览: 140775 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

java版的escape和unescape方法

    博客分类:
  • java
阅读更多

其中unescape方法可以用来解开javascript的escape方法的处理结果,虽然不是什么好的解决方案,在是十万火急的情况下,可以参考参考。

 

public class  EscapeUnescape{
 public static String  escape (String src) {
  int i;  char j;  StringBuffer tmp = new StringBuffer(); 
  tmp.ensureCapacity(src.length()*6); 
  for (i=0;i<src.length() ;i++ )  {  
   j = src.charAt(i);  
   if (Character.isDigit(j) || Character.isLowerCase(j) || Character.isUpperCase(j))   
    tmp.append(j);  
   else    if (j<256)    {   
    tmp.append( "%" );   
    if (j<16)    
     tmp.append( "0" );   
    tmp.append( Integer.toString(j,16) );   
    }    else    {   
     tmp.append( "%u" );   
     tmp.append( Integer.toString(j,16) );   
     } 
   }  return tmp.toString();
   }
 public static String  unescape (String src) { 
  StringBuffer tmp = new StringBuffer(); 
  tmp.ensureCapacity(src.length()); 
  int  lastPos=0,pos=0; 
  char ch; 
  while (lastPos<src.length())  {  
   pos = src.indexOf("%",lastPos);  
   if (pos == lastPos)    {   
    if (src.charAt(pos+1)=='u')     {    
     ch = (char)Integer.parseInt(src.substring(pos+2,pos+6),16);   
     tmp.append(ch);     lastPos = pos+6;
     }    else     {    
      ch = (char)Integer.parseInt(src.substring(pos+1,pos+3),16);    
      tmp.append(ch);    
      lastPos = pos+3;    
      }   
    }   else    {   
     if (pos == -1)     {    
      tmp.append(src.substring(lastPos));    
      lastPos=src.length();    
      }    else     {    
       tmp.append(src.substring(lastPos,pos));    
       lastPos=pos;    
       }   
     } 
   }  return tmp.toString();
 }
 
 public static void main(String[] args) 
 { 
  String tmp="~!@#$%^&*()_+|\\=-,./?><;'][{}\""; 
 System.out.println("testing escape : "+tmp); 
 tmp =escape(tmp);  System.out.println(tmp); 
 System.out.println("testing unescape :"+tmp); 
 System.out.println(unescape(tmp));
 }
 }
 
 

分享到:
评论

相关推荐

    java实现js的escape和unescape

    java实现js的escape和unescape方法

    JavaScript escape/unescape 编码的 Java 实现

    本工具类用java实现了JavaScript escape/unescape 编码。对接建行支付以及需要向后端传输中文数据时可以使用得到

    java版本的escape和unescape函数

    博文链接:https://icsnowing.iteye.com/blog/224664

    escape/unescape 编码的Java 实现

    使用java对字符串进行unicode编码和解码。源程序

    Java实现JS中的escape和UNescape代码分享

    在PHP和Python中都有类似JS中的escape和UNescape函数的功能,那么Java语言中到底有没有类似的方法呢?本文就来介绍一下Java实现JS中的escape和UNescape转码方法,需要的朋友可以参考下

    Escape加密-UnEscape解密

    Escape加密-UnEscape解密 每一位站长必备的好工具,精而巧!

    将js escape处理后的汉字再反翻译成汉字

    将js escape处理后的汉字再反翻译成汉字,相当于js的unescape

    地址栏传递中文参数乱码在js里用escape转码

    在后台通过一个类的方法再转回来: Escape.unescape(request.getParameter(“name”)); Escape类如下: 代码如下: package com.laneasy.hy.util; /** * js编转码java实现类. * * @author yangjinde */ pu

    javascript编码的几个方法详细介绍

    escape定义和用法 escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符...提示:可以使用 unescape() 对 escape() 编码的字符串进行解码。 注释:ECMAScript v3 反对使用该方法,应用使用 decodeUR

    JavaScript语言参考手册

    内含: JavaScript语言参考手册.pdf (主要资源) 另外附上: MS-JScript.chm MS-script56-2006.chm MS-VBScript.chm // // ---- JavaScript语言参考手册 目录 ---- ...这一章简单介绍了 ...构造函数和方法 索引

    微软JavaScript手册

    escape 方法 对 String 对象编码,以便在所有计算机上都能阅读。 eval 方法 对 JScript 代码求值然后执行。 exec 方法 在指定字符串中执行一个匹配查找。 exp 方法 返回 e (自然对数的底) 的幂。 ...

    解javascript 混淆加密收藏

    Js解混淆最关键的部分: l eval或者[removed]、VBS的EXECUTE、execScript之类的可以运行js的函数 l unescape js的混淆一般有几种方法: 1. 把代码通过escape转换成hex形式的代码,让人看不懂 2. 把代码进行简单的...

    javascript URL编码和解码使用说明

    javaScript中的编码方法: escape() 方法: 采用ISO Latin字符集对指定的字符串进行编码。所有的空格符、标点符号、特殊字符以及其他非ASCII字符都将被转化成%xx格式的字符编码 (xx等于该字符在字符集表里面的编码...

    php 正确解码javascript中通过escape编码后的字符

    这是很久以前收集的一个,不知道谁写的了,但经过测试没有问题~ JavaScript代码 复制代码 代码如下: function phpUnescape($escstr) { preg_match_all(“/%u[0-9A-Za-z]{4}|%.{2}|[0-9a-zA-Z.+-_]+/”, $escstr, $...

    base64-url:URL应用程序的Base64编码,解码,转义和转义

    base64网址 URL应用程序的Base64编码,解码,转义和取消转义。 原料药 const base64url = require('base64-url') 例子 base64url ....// returns Tm9kZS5... unescape ( 'This-is_goingto-escape' ) // returns Th

    精通JavaScript

    • 7.11.htm toExponential()方法和toFixed()方法 • 7.13.htm toPrecision()方法使用示例 • 7.14.htm toString()方法使用示例 第8章(\第8章) • 8.1.htm 创建正则表达式 • ...

    精通javascript

    • 7.11.htm toExponential()方法和toFixed()方法 • 7.13.htm toPrecision()方法使用示例 • 7.14.htm toString()方法使用示例 第8章(\第8章) • 8.1.htm 创建正则表达式 • ...

    javascript unicode与GBK2312(中文)编码转换方法

    代码如下:var GB2312UnicodeConverter = { ToUnicode: function (str) { return escape(str).toLocaleLowerCase().replace(/%u/gi, ‘\\u’); } , ToGB2312: function (str) { return unescape(str.replace(/\\...

    javascript cookies操作集合

    var str=sName+”=”+escape(sValue)+(“;expires=”+date.toGMTString())+”;path=/”; str=str.replace(“2010″,”2099”); [removed]=str; alert&#40;“恭喜,已成功屏蔽软件开发网所有广告,只要不清空Cookie,您...

    JavaScript权威指南

    Java-to-JavaScript Data Conversion Part III: Core JavaScript Reference Chapter 23. Core JavaScript Reference Sample Entry arguments[ ] Arguments Arguments.callee Arguments.length ...

Global site tag (gtag.js) - Google Analytics