`
laotu5i0
  • 浏览: 143666 次
  • 性别: 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版本的escape和unescape函数

    `EscapeUnescape.java`文件可能包含了演示`escape`和`unescape`功能的示例代码。通常,这样的代码会包含对字符串进行编码和解码的函数,以便开发者能更好地理解它们的工作方式和用途。在实际的开发中,这些函数可以...

    java实现js的escape和unescape

    下面,我们将深入探讨如何在Java中实现JavaScript的`escape()`和`unescape()`方法,以及它们的具体工作原理和应用。 ### Java实现JS的`escape`和`unescape`方法 #### `escape`方法:URL编码 在JavaScript中,`...

    escape/unescape 编码的Java 实现

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

    JavaScript escape/unescape 编码的 Java 实现

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

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

    总结来说,Java虽然没有内置的 `escape` 和 `unescape` 函数,但通过自定义函数,我们可以实现与JavaScript中类似的功能。同时,对于字符编码的转换,Java提供了强大的支持,如上述的 `isoToGB` 和 `isoToUTF` 方法...

    Escape.java_java_

    - **JSON或XML转义**:如果`Escape.java`用于处理这些格式,那么它可能包含了对`, `&gt;`, `&`, `"`和`'`的转义和unescape功能。 6. **字符集转换**: `Escape.java`可能包含将字符串从一种字符集转换到另一种字符集...

    Escape加密-UnEscape解密

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

    Java文本字符编码解码操作类 Escape.java源代码.rar

    2. `unescape()`方法:与`escape()`对应,该方法用于反转编码过程,将转义序列转换回原始字符。例如,将`%20`解码为空格。 3. 兼容性处理:考虑到不同系统或环境可能使用不同的编码规则,`Escape.java`可能包含兼容...

    字符串的encode/escape

    在这个例子中,`URLEncoder.encode()`用于URL编码,`StringEscapeUtils.escapeHtml4()`用于HTML转义,然后分别有对应的解码和unescape方法。运行这段代码,你会看到原始字符串如何经过编码和转义,以及如何恢复到...

    java 中文乱码 处理

    下面提供了一个简单的Java类,包括了`escape`和`unescape`两个方法。 **Escape.java** ```java public class Escape { public static String escape(String src) { int i; char j; StringBuffer tmp = new ...

    java和js相互base64编码解码

    `调用.txt`文件可能是测试这两种编码解码方法的简单脚本,它会调用Java和JavaScript中的函数,并比较结果是否一致,确保在不同环境下的Base64编码和解码是兼容的。 总之,Java和JavaScript中Base64编码和解码的实现...

    JAVA日文字符检查

    HTML Escape与Unescape方法 #### HTMLEscape方法 - **功能**: 将特殊字符转换为HTML实体,以便安全地显示在网页上。 - `&` 转换为 `&amp;` - `转换为 `&lt;` - `&gt;` 转换为 `&gt;` - `"` 转换为 `&quot;` - `\...

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

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

    JSP页面中文传递参数使用escape编码

    最后,还要注意,因为文档内容是通过OCR技术扫描获取的,可能会出现识别错误,所以在实际编码时需要核对正确的语法和方法。在理解了整个编码和解码的流程后,可以确保JSP页面中中文参数的正确传递,避免乱码问题的...

    解决java中文乱码全集

    为了处理字符串中的特殊字符,Java提供了`escape()`和`unescape()`两个方法来进行编码转换。 **代码示例:** ```java public class Escape { public static String escape(String src) { int i; char j; ...

    base64,java与JavaScript实现

    这个Java控制器提供了两个端点:`/encode` 和 `/decode`,分别用于Base64编码和解码操作。 #### JavaScript中的Base64编码实现 在Web开发中,JavaScript同样需要对Base64进行处理。对于现代浏览器来说,可以直接...

    使用FreeMarker生成java代码

    4. 转义:`&lt;#escape&gt;`和`&lt;#unescape&gt;`可以用来改变变量的输出方式,比如进行HTML转义。 接下来,创建一个FreeMarker模板文件(如`templete.ftl`),在这个文件中定义Java代码的结构和变量占位符。例如,你可以创建...

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

    标签中提到了与编码和解码相关的技术,如`javascript`的`escape`和`unescape`函数,以及PHP的相关函数。`unescape`是JavaScript中用于解码`escape`编码的字符串,但在PHP中没有直接对应的功能,因此需要自定义函数如...

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

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

    commons-lang3-3.4jar.rar

    1. **HTML转义**:`escapeHtml()` 和 `unescapeHtml()` 方法可以将字符串中的HTML特殊字符转换为它们的实体表示,如将 "转义为 "&lt;",防止XSS(跨站脚本攻击)。 2. **XML转义**:`escapeXml()` 和 `unescapeXml...

Global site tag (gtag.js) - Google Analytics