JAVA js的escape函数、解析用js encodeURI编码的字符串、utf8转gb2312的函数
2012-03-08 23:13
441 查看
public static String escape(String src) { int i; int j; StringBuffer tmp = new StringBuffer(); tmp.ensureCapacity(src.length() * 6); for (i = 0; i < src.length(); i++) { j = src.charAt(i); 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(); }
String str="K.A%C3%A4%C2%B8%C2%B4%C3%A6%C2%97%C2%B6%C3%A4%C2%BE%C2%9B%C3%A5%C2%BA%C2%94%C3%A5%C2%95%C2%86"; //str=escape(java.net.URLDecoder.decode(str,"utf-8")); //System.out.println(java.net.URLDecoder.decode(str,"utf-8")); str= (java.net.URLDecoder.decode(str,"utf-8")); System.out.println(utf8Togb2312(str));
private static String utf8Togb2312(String str){ StringBuffer sb = new StringBuffer(); for(int i=0; i<str.length(); i++) { char c = str.charAt(i); switch (c) { case '+': sb.append(' '); break; case '%': try { sb.append((char)Integer.parseInt( str.substring(i+1,i+3),16)); } catch (NumberFormatException e) { throw new IllegalArgumentException(); } i += 2; break; default: sb.append(c); break; } } // Undo conversion to external encoding String result = sb.toString(); String res=null; try{ byte[] inputBytes = result.getBytes("8859_1"); res= new String(inputBytes,"UTF-8"); } catch(Exception e){} return res; }
相关文章推荐
- JAVA js的escape函数、解析用js encodeURI编码的字符串、utf8转gb2312的函数
- JS 字符串编码函数(解决URL特殊字符传递问题):escape()、encodeURI()、encodeURIComponent()区别详解
- JS 字符串编码函数(解决URL特殊字符传递问题):escape()、encodeURI()、encodeURIComponent()区别详解
- JS 字符串编码函数(解决URL特殊字符传递问题):escape()、encodeURI()、encodeURIComponent()区别详解
- JS 字符串编码函数(解决URL特殊字符传递问题):escape()、encodeURI()、encodeURIComponent()区别详解
- 获取字符串的UTF8编码/GB2312编码
- 解析php获取字符串的编码格式的方法(函数)
- Java - 怎样将GB2312编码的字符串转换为ISO-8859-1编码的字符串?
- js文字编码函数escape,encodeURI,encodeURIComponent使用详解
- Java - 字符串和Unicode互转 - 解析小米pm.min.js
- 使用js的encodeURIComponent编码后,java解析乱码
- js文字编码函数escape,encodeURI,encodeURIComponent使用详解
- 利用java反射调用实现对字符串的解析,成功调入函数,并且返回值
- 真正根据utf8编码的规律来进行截取字符串的函数(utf8版sub_str )
- 解决 c# js url 乱码,c# url 编码 UrlEncode,javascript url 编码 encodeURI,解析
- Nginx 对字符串编码函数解析
- 使用JS对中文字符串进行utf-8的Base64编码,使其与Java编码相同的办法
- 前台使用js的encodeURIComponent编码后,java解析乱码问题的解决方法
- js的编码成gb2312的编码函数(URLEncode)
- Java - 字符串和Unicode互转 - 解析小米pm.min.js