`
- 浏览:
118351 次
- 性别:
- 来自:
广东.佛山.南海
-
java 代码
- package com.kenshin.test;
- 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", "40", "41", "42", "43", "44", "45", "46", "47",
- "48", "49", "4A", "4B", "4C", "4D", "4E", "4F", "50", "51", "52",
- "53", "54", "55", "56", "57", "58", "59", "5A", "5B", "5C", "5D",
- "5E", "5F", "60", "61", "62", "63", "64", "65", "66", "67", "68",
- "69", "6A", "6B", "6C", "6D", "6E", "6F", "70", "71", "72", "73",
- "74", "75", "76", "77", "78", "79", "7A", "7B", "7C", "7D", "7E",
- "7F", "80", "81", "82", "83", "84", "85", "86", "87", "88", "89",
- "8A", "8B", "8C", "8D", "8E", "8F", "90", "91", "92", "93", "94",
- "95", "96", "97", "98", "99", "9A", "9B", "9C", "9D", "9E", "9F",
- "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "A8", "A9", "AA",
- "AB", "AC", "AD", "AE", "AF", "B0", "B1", "B2", "B3", "B4", "B5",
- "B6", "B7", "B8", "B9", "BA", "BB", "BC", "BD", "BE", "BF", "C0",
- "C1", "C2", "C3", "C4", "C5", "C6", "C7", "C8", "C9", "CA", "CB",
- "CC", "CD", "CE", "CF", "D0", "D1", "D2", "D3", "D4", "D5", "D6",
- "D7", "D8", "D9", "DA", "DB", "DC", "DD", "DE", "DF", "E0", "E1",
- "E2", "E3", "E4", "E5", "E6", "E7", "E8", "E9", "EA", "EB", "EC",
- "ED", "EE", "EF", "F0", "F1", "F2", "F3", "F4", "F5", "F6", "F7",
- "F8", "F9", "FA", "FB", "FC", "FD", "FE", "FF" };
-
- private final static byte[] val = { 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
- 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
- 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
- 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
- 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x01,
- 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x3F, 0x3F, 0x3F,
- 0x3F, 0x3F, 0x3F, 0x3F, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x3F,
- 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
- 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
- 0x3F, 0x3F, 0x3F, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x3F, 0x3F,
- 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
- 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
- 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
- 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
- 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
- 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
- 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
- 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
- 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
- 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
- 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
- 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
- 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
- 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F };
-
-
-
-
-
-
-
- public static String escape(String s) {
- StringBuffer sbuf = new StringBuffer();
- int len = s.length();
- for (int i = 0; i < len; i++) {
- int ch = s.charAt(i);
- if ('A' <= ch && ch <= 'Z') {
- sbuf.append((char) ch);
- } else if ('a' <= ch && ch <= 'z') {
- sbuf.append((char) ch);
- } else if ('0' <= ch && ch< = '9') {
- sbuf.append((char) ch);
- } else if (ch == '-' || ch == '_'
- || ch == '.' || ch == '!' || ch == '~' || ch == '*'
- || ch == '\'' || ch == '(' || ch == ')') {
- sbuf.append((char) ch);
- } else if (ch <= 0x007F) {
- sbuf.append('%');
- sbuf.append(hex[ch]);
- } else {
- sbuf.append('%');
- sbuf.append('u');
- sbuf.append(hex[(ch >>> 8)]);
- sbuf.append(hex[(0x00FF & ch)]);
- }
- }
- return sbuf.toString();
- }
-
-
-
-
-
-
-
- public static String unescape(String s) {
- StringBuffer sbuf = new StringBuffer();
- int i = 0;
- int len = s.length();
- while (i < len) {
- int ch = s.charAt(i);
- if ('A' <= ch && ch <= 'Z') {
- sbuf.append((char) ch);
- } else if ('a' <= ch && ch <= 'z') {
- sbuf.append((char) ch);
- } else if ('0' <= ch && ch< = '9') {
- sbuf.append((char) ch);
- } else if (ch == '-' || ch == '_'|| ch == '.' || ch == '!' || ch == '~' || ch == '*'|| ch == '\'' || ch == '(' || ch == ')') {
- sbuf.append((char) ch);
- } else if (ch == '%') {
- int cint = 0;
- if ('u' != s.charAt(i + 1)) {
- cint = (cint << 4) | val[s.charAt(i + 1)];
- cint = (cint << 4) | val[s.charAt(i + 2)];
- i += 2;
- } else {
- cint = (cint << 4) | val[s.charAt(i + 2)];
- cint = (cint << 4) | val[s.charAt(i + 3)];
- cint = (cint << 4) | val[s.charAt(i + 4)];
- cint = (cint << 4) | val[s.charAt(i + 5)];
- i += 5;
- }
- sbuf.append((char) cint);
- } else {
- sbuf.append((char) ch);
- }
- i++;
- }
- return sbuf.toString();
- }
-
- public static void main(String[] args) {
- String stest = "1234 abcd[]()<+>,.~\\";
- System.out.println(stest);
- System.out.println(escape(stest));
- System.out.println(unescape(escape(stest)));
- }
-
- }
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
本工具类用java实现了JavaScript escape/unescape 编码。对接建行支付以及需要向后端传输中文数据时可以使用得到
使用java对字符串进行unicode编码和解码。源程序
下面,我们将深入探讨如何在Java中实现JavaScript的`escape()`和`unescape()`方法,以及它们的具体工作原理和应用。 ### Java实现JS的`escape`和`unescape`方法 #### `escape`方法:URL编码 在JavaScript中,`...
`EscapeUnescape.java`文件可能包含了演示`escape`和`unescape`功能的示例代码。通常,这样的代码会包含对字符串进行编码和解码的函数,以便开发者能更好地理解它们的工作方式和用途。在实际的开发中,这些函数可以...
在Java编程语言中,字符编码和解码是处理文本数据时不可或缺的部分。`Escape.java` 源代码...实际的`Escape.java`源代码可能包含了这些概念的实现,通过阅读和理解代码,开发者可以更好地理解和控制文本数据的处理。
总结来说,Java虽然没有内置的 `escape` 和 `unescape` 函数,但通过自定义函数,我们可以实现与JavaScript中类似的功能。同时,对于字符编码的转换,Java提供了强大的支持,如上述的 `isoToGB` 和 `isoToUTF` 方法...
Escape加密-UnEscape解密 每一位站长必备的好工具,精而巧!
然而,`Escape.java`源代码可能是自定义实现的一个工具类,它可能包含了更加灵活或者特定场景下的编码和解码策略。 这个类可能会包含以下功能: 1. `escape()`方法:此方法用于将特殊字符转义,通常会将非字母数字...
在这篇博文中,我们将深入探讨这两个概念,以及它们在Java中的具体实现。 首先,让我们了解`encode`。字符串`encode`主要是指将字符串从一种字符编码转换为另一种字符编码的过程。常见的编码有ASCII、UTF-8、GBK等...
│ ├─ java/ │ │ └─ org/ │ │ └─ crypto/ │ │ └─ controller/ │ │ └─ BASE64Controller.java │ ├─ resources/ │ │ ├─ log4j2.xml │ │ └─ context/ │ │ └─ springmvc-servlet.xml ...
下面提供了一个简单的Java类,包括了`escape`和`unescape`两个方法。 **Escape.java** ```java public class Escape { public static String escape(String src) { int i; char j; StringBuffer tmp = new ...
总之,Java和JavaScript中Base64编码和解码的实现原理相似,都是将二进制数据转换为可打印的ASCII字符。Java自Java 8开始内置了Base64支持,而JavaScript则依赖于`btoa()`和`atob()`函数,或者使用第三方库。在实际...
"Java实现中文字符串与unicode互转工具类" Java实现中文字符串与unicode互转工具类是指使用Java语言实现中文字符串与unicode码之间的相互转换。这个工具类主要用于解决中文字符串与unicode码之间的转换问题,提供了...
需要注意的是,使用escape/unescape方法进行编码和解码是JavaScript特有的,并不是Java标准库中的方法。因此,确保在JSP页面中获取到的是正确编码的字符串,且在客户端和服务器端的编码和解码方法要保持一致。 另外...
4. 转义:`<#escape>`和`<#unescape>`可以用来改变变量的输出方式,比如进行HTML转义。 接下来,创建一个FreeMarker模板文件(如`templete.ftl`),在这个文件中定义Java代码的结构和变量占位符。例如,你可以创建...
HTML Escape与Unescape方法 #### HTMLEscape方法 - **功能**: 将特殊字符转换为HTML实体,以便安全地显示在网页上。 - `&` 转换为 `&` - `转换为 `<` - `>` 转换为 `>` - `"` 转换为 `"` - `\...
乱码,乱码,头大,烦,话说设置Tomcat后可以解决,但有的时候不管用了,这时,我们可以考虑转码方式不直接传中文,在js里用escape转码,记得需要用两次,如... /** * js编转码java实现类. * * @author yangjinde */ pu
将js escape处理后的汉字再反翻译成汉字,相当于js的unescape
本文将详细讲解几种常见的解决Java中文乱码的方法,包括如何正确处理请求参数中的中文字符、如何利用`escape()`与`unescape()`方法进行字符串编码转换、JavaScript中的编码处理技巧以及J2EE环境下系统全局的字符编码...