`
星海孤舟
  • 浏览: 68967 次
  • 性别: Icon_minigender_1
  • 来自: 哈尔滨
社区版块
存档分类
最新评论

java 版Escape Unescape

阅读更多

 

 

 

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`功能的示例代码。通常,这样的代码会包含对字符串进行编码和解码的函数,以便开发者能更好地理解它们的工作方式和用途。在实际的开发中,这些函数可以...

    escape/unescape 编码的Java 实现

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

    JavaScript escape/unescape 编码的 Java 实现

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

    java实现js的escape和unescape

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

    Escape.java_java_

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

    Escape加密-UnEscape解密

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

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

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

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

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

    字符串的encode/escape

    `java.lang.StringEscapeUtils`类则提供了对字符串中特殊字符的转义和unescape功能,适用于HTML、XML等场景。 现在,让我们看看提供的`EscapeUnescape.java`文件。这个文件很可能包含了对`encode`和`escape`操作的...

    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编码解码

    return decodeURIComponent(escape(atob(encoded))); } var plainText = "Hello, World!"; var encodedText = encodeBase64(plainText); console.log("编码后的字符串:" + encodedText); var decodedText = ...

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

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

    JAVA日文字符检查

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

    使用FreeMarker生成java代码

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

    base64,java与JavaScript实现

    return window.btoa(unescape(encodeURIComponent(str))); } function base64Decode(str) { return decodeURIComponent(escape(window.atob(str))); } ``` #### 配置文件解析:log4j2.xml 项目的日志配置文件`...

    解决java中文乱码全集

    本文将详细讲解几种常见的解决Java中文乱码的方法,包括如何正确处理请求参数中的中文字符、如何利用`escape()`与`unescape()`方法进行字符串编码转换、JavaScript中的编码处理技巧以及J2EE环境下系统全局的字符编码...

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

    `unescape`是JavaScript中用于解码`escape`编码的字符串,但在PHP中没有直接对应的功能,因此需要自定义函数如`phpUnescape`来实现类似的功能。 总的来说,这篇文章探讨了一个实用的PHP函数,该函数可以正确地解码...

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

    需要注意的是,使用escape/unescape方法进行编码和解码是JavaScript特有的,并不是Java标准库中的方法。因此,确保在JSP页面中获取到的是正确编码的字符串,且在客户端和服务器端的编码和解码方法要保持一致。 另外...

    Java实现中文字符串与unicode互转工具类

    这个工具类主要用于解决中文字符串与unicode码之间的转换问题,提供了escape和unescape两个函数,分别用于将中文字符串转换为unicode码和将unicode码转换回中文字符串。 在了解这个工具类之前,我们需要了解什么是...

    JavaScript、JavaWeb对汉字等的编码与解码处理

    在本资源中,我们将详细介绍JavaScript和JavaWeb对汉字编码的策略,包括escape、encodeURI、encodeURIComponent等编码函数的使用,以及对应的解码函数unescape、decodeURI、decodeURIComponent的使用。 一、escape...

Global site tag (gtag.js) - Google Analytics