java unescape_java中的escape和unescape
在js中,可以将url中的中文参数通过escape("中文")函数来将中文转换为unicode编码的字符串,即百分号+u+字母/数字。当服务器端未自动对其进行解码时,我们可以自己编写函数来进行转码,如下:
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();
}
/**
* @disc 对字符串重新编码
* @param src
* @return
*/
public static String isoToGB(String src) {
String strRet = null;
try {
strRet = new String(src.getBytes("ISO_8859_1"), "GB2312");
} catch (Exception e) {
}
return strRet;
}
/**
* @disc 对字符串重新编码
* @param src
* @return
*/
public static String isoToUTF(String src) {
String strRet = null;
try {
strRet = new String(src.getBytes("ISO_8859_1"), "UTF-8");
} catch (Exception e) {
}
return strRet;
}
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("%u6211%u4eec"));
}
当通过js使用escape()函数来转码url中的中文时,如果服务器端接受不到该中文参数,就改用encodeURI()函数来代替escape()函数。
java unescape_java中的escape和unescape相关推荐
- java unescape_Java实现JS中的escape和UNescape代码分享
众所周知,JavaScript中escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串.下面,我们就来看看 Java语言中类似JavaScript中的escape() 和un ...
- .net里面实现javascript中的 escape 和 unescape 功能
javascript 脚本,有个 escape 和 unescape ,在做URL传递等的情况下, 用的比较多 到了.NET里面, 在 C# 和 VB.NET 下, 仍然有很多人想使用这种功能, 但是 ...
- php js unescape,PHP实现JS中escape与unescape的方法
本文实例讲述了PHP实现JS中escape与unescape的方法.分享给大家供大家参考,具体如下: JavaScript中的escape和unescape是吧字符串转换为unicode十六进制编码, ...
- Java中的escape,unescape方法
来源链接: https://blog.csdn.net/hujingn/article/details/5791130 // //Java中的escape,unescape方法 package my. ...
- 在VB6.0中怎么实现escape和unescape
两套方案,一是调用JAVAscript对象,二是自己写代码编码与解码,代码在CSDN中的以下帖子里贴出: 方案一代码: 复制内容到剪贴板 程序代码 Function Escape(ByVal pstr ...
- Python中escape和unescape
Python中escape和unescape Python处理HTML转义字符 在抓网页数据经常遇到例如>或者 这种HTML转义符,抓到字符串里很是烦人. 比方说一个从网页中抓到的字符串 p = ...
- js escape、 unescape、 encodeURI、encodeURIComponent、decodeURI、decodeURIComponent的区别
js 1.5版本之后escape. unescape(已弃用)尽量不推荐使用 1.作用 escape是对字符串(string)进行编码(而另外两种是对URL),作用是让它们在所有电脑上可读 2. en ...
- js中的escape的用法汇总
js对文字进行编码涉及3个函数:escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decodeURIComponent 1 ...
- Java虚拟机-逃逸分析(Escape Analysis)和栈上分配
我们都知道Java中的对象默认都是分配到堆上,在调用栈中,只保存了对象的指针.当对象不再使用后,需要依靠GC来遍历引用树并回收内存.如果堆中对象数量太多,回收对象还有整理内存,都会会带来时间上的消耗, ...
最新文章
- 贷款利率最高多少合法?
- html 空格_HTML标签
- 秒杀场景_解决秒杀超卖问题_04
- 祝贺Terrylee博客园Post达到100篇
- 数据写入磁盘的过程,咔咔的!
- ajax jsonp post php,※ajax的post方式注意点※及jsonp的封装
- python爬虫的具体流程_[专栏作家]【Python】爬虫程序 (一)
- 中心/设置地图缩放以覆盖所有可见的标记?
- python_统计数组中指定范围的数据占的比例
- talentcentral测评结果_人才测评
- 制图综合:河流水系提取简化
- Android 项目必备(二十)-->NFC 的基本使用
- java判断session中是否存在_java中session用法 判断用户是否登录
- 【原创】基于SpringBoot的同城生鲜门店配送系统(SpringBoot配送系统毕业设计)
- 学习游戏建模最好的意见|让你们少走弯路的最佳方法哦!值得过目
- fatal: does not appear to a git repository
- 电商平台如何实现财务分账?
- 1838.最高频元素的频数
- 深大计算机与软件学院院长,深圳大学计算机与软件学院自考办
- 分布式锁和分布式事务和分布式Session
热门文章
- 主编编辑器如何快速找回未及时保存的文章
- linux下u盘网卡驱动,通过u盘给linux安装网卡驱动的做法——深圳培训linux
- 利尔达客思之“智能照明”的本质解析
- CRC16-XMODEM 计算方法 | C语言实现
- 保研复习——线性代数4:向量空间
- java 微博客户端,Java新浪微博客户端开发第二步
- PNP : TCP relay Socks4a
- 邮箱里的服务器备份是什么,邮件归档和邮件备份,两者有什么区别?
- Unity3D 控制动画播放暂停
- 销售王家装预算报价软件 v2006.12.15 bt