在作b/s程序的时候经常为了汉字编码的问题头疼不已,一直想在偷懒等有人写个java 版的escape/unescape来给我用,昨晚终于忍无可忍了,自己写了一个。没有来得及严密测试,要发现bug了mail给我(stoneat163@163.net)

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函数相关推荐

  1. escape()和unescape()函数的使用方法

    (一).示例图片效果 (二).代码 <html> <head> <title>escape()和unescape()函数的使用方法</title> &l ...

  2. js unescape 对应php的函数,php实现Javascript的escape和unescape函数

    由于需要用到php调用js文件,在网上找了相关的资料,并改写了相关的方法. php实现 Javascript的escape函数方法: function escape($str) { preg_matc ...

  3. JS escape()和unescape()函数的介绍

    escape()和unescape()是一对 编码解码 函数,一般用于URL中非ASCII字符的编码和解码! 如:escape("&")返回%26,unescape(&qu ...

  4. js escape、 unescape、 encodeURI、encodeURIComponent、decodeURI、decodeURIComponent的区别

    js 1.5版本之后escape. unescape(已弃用)尽量不推荐使用 1.作用 escape是对字符串(string)进行编码(而另外两种是对URL),作用是让它们在所有电脑上可读 2. en ...

  5. php js unescape,PHP实现JS中escape与unescape的方法

    本文实例讲述了PHP实现JS中escape与unescape的方法.分享给大家供大家参考,具体如下: JavaScript中的escape和unescape是吧字符串转换为unicode十六进制编码, ...

  6. java unescape_Java实现JS中的escape和UNescape代码分享

    众所周知,JavaScript中escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串.下面,我们就来看看 Java语言中类似JavaScript中的escape() 和un ...

  7. unescape解密 php,php 版 模仿 js ,unescape函数解码,escape函数编码的方法

    php 版 模仿 js ,unescape函数解码,escape函数编码的方法 其实跟js 端进行编码和解码相同,而且可以通过php的这个方法直接对js返回的数据进行编码和解码,方法通用. /** * ...

  8. Java中的escape,unescape方法

    来源链接: https://blog.csdn.net/hujingn/article/details/5791130 // //Java中的escape,unescape方法 package my. ...

  9. html escape函数,Javascript escape() 函数和unescape() 函数

    一.escape函数 escape()函数主要作用就是对字符串进行编码,以便它们能在所有计算机上可读. 语法: escape(charString) 说明: charString是必选参数,表示要进行 ...

最新文章

  1. “我付了钱,为何要说谢谢?”
  2. Openstack组件部署 — Nova overview
  3. 15 分钟带你入门 sklearn 与机器学习(分类算法篇)
  4. ubuntu自动提醒
  5. java object... arguments_Java面试之基础题---对象Object
  6. 基于Redis、Storm的实时数据查询实践
  7. 如何用SQL语句查询Excel数据
  8. linux命令cat过滤注释行和空白行
  9. uva 12558 Egyptian Fractions (HARD version)
  10. 宝马与intel合作 2021年推全自动无人驾驶车
  11. sw转cad映射文件_SolidWorks工程图转CAD图纸DWG文件教程-很吊
  12. go用smpt包发送邮件, 被抄送收不到邮件bug
  13. FTP 通过cmd命令上传下载文件
  14. 大数据-机器学习导论-1
  15. 【NVMe2.0b 14-8】Set Features(下篇)
  16. 高新技术企业3年认定过期了怎么办
  17. 乐信、趣店同源“异路”
  18. H3C S7500E系列高端多业务路由交换机
  19. 成都大数据研究院的职责及发展规划
  20. 基于matlab的SAR图像中自动目标识别

热门文章

  1. 国际电工委员会(IEC)介绍_标准知识
  2. iec61508最新2020_IEC61508标准解读
  3. 计算机岗位知识竞赛,计算机工作人员年度考核.doc
  4. 【C语言进阶】很诡异的编译报错expected declaration or statement at end of input
  5. 【Python】基于Python的复杂网络传播动力学及其可视化
  6. 【华人学者风采】Xifeng Yan 加州大学圣巴巴拉分校
  7. 联想K900线刷教程 K900软件升级说明书
  8. 爬取淘宝模特信息并自动保存图片
  9. 拥有无数个智能摄像头,却还没让城市睁开双眼
  10. PhotoShopcs6 文件格式关联