js解码类

简介:
package net.hlj.util;

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();

	}

}

目录
相关文章
|
6月前
|
设计模式 JavaScript 前端开发
在JavaScript中,继承是一个重要的概念,它允许我们基于现有的类(或构造函数)创建新的类
【6月更文挑战第15天】JavaScript继承促进代码复用与扩展,创建类层次结构,但过深的继承链导致复杂性增加,紧密耦合增加维护成本,单继承限制灵活性,方法覆盖可能隐藏父类功能,且可能影响性能。设计时需谨慎权衡并考虑使用组合等替代方案。
47 7
|
3月前
|
Web App开发 JavaScript 前端开发
JavaScript 类(class)
JavaScript 类(class)
23 2
JavaScript 类(class)
|
3月前
|
JavaScript 前端开发
JavaScript基础知识-构造函数(也称为"类")定义
本文介绍了JavaScript中构造函数(也称为“类”)的定义和使用方法。
38 1
JavaScript基础知识-构造函数(也称为"类")定义
|
3月前
|
JavaScript 前端开发 Java
JavaScript 类知识点概览
概览JavaScript中类的知识点,包括类的定义和实现、添加方法和get/set方法、类的继承和静态方法的使用。通过学生类和人员类的例子,演示了类的构造器、方法定义、继承关系和静态方法的调用。
JavaScript 类知识点概览
|
3月前
|
JavaScript 前端开发 开发者
JavaScript 类继承
JavaScript 类继承
22 1
|
3月前
|
JavaScript 安全
ES6中JS类实现的解读
ES6中JS类实现的解读
23 2
|
3月前
|
JavaScript 前端开发 索引
|
3月前
|
JavaScript 前端开发
JS中Promise的类式实现写法
JS中Promise的类式实现写法
|
2月前
|
前端开发 JavaScript 开发者
深入理解JavaScript中的对象与类
深入理解JavaScript中的对象与类
17 0
|
3月前
|
C++ Windows
HTML+JavaScript构建C++类代码一键转换MASM32代码平台
HTML+JavaScript构建C++类代码一键转换MASM32代码平台