JavaScript escape/unescape编码的Java实现

符合 JavaScript unescape 函数(支持Unicode)的 Java escape 编码实现
最近在弄一个跨域的交互程序,交互过程非常复杂.而且,其中一端只能使用 javascript 来处理返回.
于是,发现 Java 的 URLEncoder.encode 方法与 JavaScript 的 unescape 方法已经不能兼容了.
现在浏览器的主流版本中 JavaScript 已经开始使用 Unicode 作为字符串的内码进行编码.即, Unicode 字符 escape 之后的样子类似于 %uABCD 而 java 的 URLEncoder.encode 方法得到的结果是 %AB%CD ,转换出来的结果必定是乱码了.
方法有两个,其一,用 Java 实现一个生成新编码的方法.其二,用 JavaScript 实现一个针对旧编码的解码方法.想了想,还是用 Java 要方便一点点吧.
上次贴出的 escape 的 java 实现,似乎对大家有用.最近曾军同学提出 unescape 对于 javascript 与后端的交互也有意义.于是就一并实现了.再次贴上来.
代码非常简单,注释就免了吧.一贯的,仍然遵循"以空间换时间"原则.
需要的桶子,一贯的,help yourself.
/**
 * JavaScript escape/unescape 编码的 Java 实现
 * author jackyz
 * keep this copyright info while using this method by free
 */
public class Escape {
    private final static String[] hex = {
        "00","01","02","03","04","05","06","07","08","09","0A","0B","0C","0D","0E","0F",
        "10","11","12","13","14","15","16","17","18","19","1A","1B","1C","1D","1E","1F",
        "20","21","22","23","24","25","26","27","28","29","2A","2B","2C","2D","2E","2F",
        "30","31","32","33","34","35","36","37","38","39","3A","3B","3C","3D","3E","3F",

时间: 2024-10-12 21:35:41

JavaScript escape/unescape编码的Java实现的相关文章

JavaScript escape/unescape编码的实现

javascript|编码 符合 JavaScript unescape 函数(支持Unicode)的 Java escape 编码实现 最近在弄一个跨域的交互程序,交互过程非常复杂.而且,其中一端只能使用 javascript 来处理返回. 于是,发现 Java 的 URLEncoder.encode 方法与 JavaScript 的 unescape 方法已经不能兼容了. 现在浏览器的主流版本中 JavaScript 已经开始使用 Unicode 作为字符串的内码进行编码.即, Unicod

Python中还原JavaScript的escape函数编码后字符串的方法_python

遇到一个问题需要用Python把JavaScript中escape的中文给还原,但找了大半天,也没有找到答案,只好自己深入研究解决方案. 我们先来看在js中escape一段文字的编码 复制代码 代码如下: a = escape('这是一串文字'); alert(a); 输出: 复制代码 代码如下: %u8FD9%u662F%u4E00%u4E32%u6587%u5B57 咋一看,就感觉有点类似json格式,我们来看看标准的json格式编码同样的汉子"这是一串文字" 复制代码 代码如下:

JavaScript编程语言的编码规范

网页制作Webjx文章简介:对于熟悉 C/C++ 或 Java 语言的工程师来说,JavaScript 显得灵活,简单易懂,对代码的格式的要求也相对松散.很容易学习,并运用到自己的代码中.也正因为这样,JavaScript 的编码规范也往往被轻视,开发过程中修修补补,最终也就演变成为后续维护人员的恶梦.软件存在 对于熟悉 C/C++ 或 Java 语言的工程师来说,JavaScript 显得灵活,简单易懂,对代码的格式的要求也相对松散.很容易学习,并运用到自己的代码中.也正因为这样,JavaSc

浅谈JavaScript编程语言的编码规范_基础知识

JavaScript 编程语言作为最流行的客户端脚本语言,早已被众多 Web 开发人员所熟悉.随着 Web2.0 时代的到来和 Ajax 技术的广泛应用,JavaScript 也逐渐吸引着更多的视线.工作中要求越多的是对 JavaScript 语言的深入学习,灵活运用,和对编码质量的保证. 对于熟悉 C/C++ 或 Java 语言的工程师来说,JavaScript 显得灵活,简单易懂,对代码的格式的要求也相对松散.很容易学习,并运用到自己的代码中.也正因为这样,JavaScript 的编码规范也

JavaScript实现Base64编码转换_javascript技巧

简介 Base64是一种基于64个可打印字符来表示二进制数据的表示方法.由于2的6次方等于64,所以每6个比特为一个单元,对应某个可打印字符.三个字节有24个比特,对应于4个Base64单元,即3个字节需要用4个可打印字符来表示.它可用来作为电子邮件的传输编码.在Base64中的可打印字符包括字母A-Z.a-z.数字0-9,这样共有62个字符,此外的两个可打印符号在不同的系统中而不同,一般为+和/. 转换原理 Base64的直接数据源是二进制序列(Binary Sequence).当然,你也可以

escape() 字符串编码函数及其它js 编码函数

escape() 字符串编码函数及其它js 编码函数 escape(string) 定义和用法 escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串. 语法 escape(string)参数 描述 string 必需.要被转义或编码的字符串. 1:说明:所有空格.标点.重音符号以及其他非 ascii 字符都用 %xx 编码代替,其中 xx 等于表示该字符的十六进制数.例如,空格返回的是 "%20" .字符值大于 255 的以 "%uxxxx&quo

用javascript实现Base64编码

javascript|编码 用javascript实现Base64编码-解决中文问题 因javascript求出来的是Unicode要转换成Ansi后才能对它进行Base64编码 UnicodeAnsi.js文件:把Unicode转成Ansi和把Ansi转换成Unicode 代码拷贝框//UnicodeAnsi.js文件//把Unicode转成Ansi和把Ansi转换成Unicodefunction UnicodeChr(){return '00A4,00A7,00A8,00B0,00B1,00

c++ 编程问题-c++与java通信(socket TCP)c++用的默认的编码,java用的UTF-8 怎么解决中文乱码问题

问题描述 c++与java通信(socket TCP)c++用的默认的编码,java用的UTF-8 怎么解决中文乱码问题 c++代码如下,谁可以试着尝试一下,谢谢 #include #include #include #pragma comment(lib,"ws2_32.lib") void main() { //创建套接字 WORD myVersionRequest; WSADATA wsaData; myVersionRequest=MAKEWORD(1,1); int err;

两个不同字符编码的java web网站交互中文字符如何处理乱码?

问题描述 两个不同字符编码的java web网站交互中文字符如何处理乱码? 例如:从GBK编码的网站提交中文字符到UTF-8编码的网站,接收到的中文就是乱码,怎么解决乱码问题? 解决方案 进行编码转换http://www.sharejs.com/codes/java/5422 解决方案二: 在UTF-8的页面先对GBK的字符串进行转码,具体转码方法太多了,就不一一介绍了