java版本的escape和unescape函数
在作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函数相关推荐
- escape()和unescape()函数的使用方法
(一).示例图片效果 (二).代码 <html> <head> <title>escape()和unescape()函数的使用方法</title> &l ...
- js unescape 对应php的函数,php实现Javascript的escape和unescape函数
由于需要用到php调用js文件,在网上找了相关的资料,并改写了相关的方法. php实现 Javascript的escape函数方法: function escape($str) { preg_matc ...
- JS escape()和unescape()函数的介绍
escape()和unescape()是一对 编码解码 函数,一般用于URL中非ASCII字符的编码和解码! 如:escape("&")返回%26,unescape(&qu ...
- js escape、 unescape、 encodeURI、encodeURIComponent、decodeURI、decodeURIComponent的区别
js 1.5版本之后escape. unescape(已弃用)尽量不推荐使用 1.作用 escape是对字符串(string)进行编码(而另外两种是对URL),作用是让它们在所有电脑上可读 2. en ...
- php js unescape,PHP实现JS中escape与unescape的方法
本文实例讲述了PHP实现JS中escape与unescape的方法.分享给大家供大家参考,具体如下: JavaScript中的escape和unescape是吧字符串转换为unicode十六进制编码, ...
- java unescape_Java实现JS中的escape和UNescape代码分享
众所周知,JavaScript中escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串.下面,我们就来看看 Java语言中类似JavaScript中的escape() 和un ...
- unescape解密 php,php 版 模仿 js ,unescape函数解码,escape函数编码的方法
php 版 模仿 js ,unescape函数解码,escape函数编码的方法 其实跟js 端进行编码和解码相同,而且可以通过php的这个方法直接对js返回的数据进行编码和解码,方法通用. /** * ...
- Java中的escape,unescape方法
来源链接: https://blog.csdn.net/hujingn/article/details/5791130 // //Java中的escape,unescape方法 package my. ...
- html escape函数,Javascript escape() 函数和unescape() 函数
一.escape函数 escape()函数主要作用就是对字符串进行编码,以便它们能在所有计算机上可读. 语法: escape(charString) 说明: charString是必选参数,表示要进行 ...
最新文章
- “我付了钱,为何要说谢谢?”
- Openstack组件部署 — Nova overview
- 15 分钟带你入门 sklearn 与机器学习(分类算法篇)
- ubuntu自动提醒
- java object... arguments_Java面试之基础题---对象Object
- 基于Redis、Storm的实时数据查询实践
- 如何用SQL语句查询Excel数据
- linux命令cat过滤注释行和空白行
- uva 12558 Egyptian Fractions (HARD version)
- 宝马与intel合作 2021年推全自动无人驾驶车
- sw转cad映射文件_SolidWorks工程图转CAD图纸DWG文件教程-很吊
- go用smpt包发送邮件, 被抄送收不到邮件bug
- FTP 通过cmd命令上传下载文件
- 大数据-机器学习导论-1
- 【NVMe2.0b 14-8】Set Features(下篇)
- 高新技术企业3年认定过期了怎么办
- 乐信、趣店同源“异路”
- H3C S7500E系列高端多业务路由交换机
- 成都大数据研究院的职责及发展规划
- 基于matlab的SAR图像中自动目标识别
热门文章
- 国际电工委员会(IEC)介绍_标准知识
- iec61508最新2020_IEC61508标准解读
- 计算机岗位知识竞赛,计算机工作人员年度考核.doc
- 【C语言进阶】很诡异的编译报错expected declaration or statement at end of input
- 【Python】基于Python的复杂网络传播动力学及其可视化
- 【华人学者风采】Xifeng Yan 加州大学圣巴巴拉分校
- 联想K900线刷教程 K900软件升级说明书
- 爬取淘宝模特信息并自动保存图片
- 拥有无数个智能摄像头,却还没让城市睁开双眼
- PhotoShopcs6 文件格式关联