java url 编码中只编码中文
来源:互联网 发布:淘宝客速成三部曲琳落 编辑:程序博客网 时间:2024/05/14 16:39
工作中碰到个问题,就是固定的URL 却要编码,后来公司一牛人,想了一个解决方案,就是利用javascript的url编码,发现除去所有的ascii码值+一些特殊的字符意外,其他都可以编码,在apache的comment包中,找到了判断是否是ascii码的方法。利用起来!!
希望可以帮到需要的人,都是程序猿,大家都不易啊!!!
搞起,下面上代码
public class ZSEncode {/**
* 判断是否是ascii 发现127 128 无用,果断去掉
* @param ch
* @return
*/
public static boolean isAscii(char ch) {
return ch <= 126;
}
/**
* 替换ascii中的一些特殊字符
* @param url
* @return
*/
public static String encodeURI(String url) {
if (url == null) {
return "";
}
StringBuffer sb = new StringBuffer();
for (int i = 0; i < url.length(); i++) {
char ch = url.charAt(i);
if (isAscii(ch)) {
switch (ch) {
case '"':
sb.append("%22");
break;
case '%':
sb.append("%25");
break;
case '<':
sb.append("%3C");
break;
case '>':
sb.append("%3E");
break;
case '[':
sb.append("%5B");
break;
case ']':
sb.append("%5D");
break;
case '^':
sb.append("%5E");
break;
case '`':
sb.append("%60");
break;
case '{':
sb.append("%7B");
break;
case '|':
sb.append("%7C");
break;
case '}':
sb.append("%7D");
break;
case ' ':
sb.append("%20");
break;
default:
sb.append(ch);
break;
}
} else {
try {
sb.append(URLEncoder.encode(Character.toString(ch), "UTF-8"));
} catch (Exception e) {
sb.append(ch);
}
}
}
return sb.toString();
}
}
转载请标明出处!!
- java url 编码中只编码中文
- java中url中文编码问题
- ios中中文Url编码
- Java中字符串的URL中文的编码和解码
- Java中对Url编码
- 关于android编码问题-URL中文编码-Activity中文编码与.java编码
- iOS 中url中文编码问题
- iOS中url中文编码问题
- url中中文字符编码和解码
- java 编码URL中的空格,中文
- url中文编码转换
- 中文URL编码
- 中文URL编码
- 中文URL编码
- 中文url编码
- URL中文字符编码
- 中文URL编码
- url中文编码
- 通过邮件找回密码功能的实现
- TableLayout中的控件放大和缩小
- 数字地与模拟地的区别
- iPhone Launch之启动类型的判断
- Objective-C中的常用数学常量宏及函数
- java url 编码中只编码中文
- HTML 复习笔记(1)
- C++ builder系列之------suipack控件加载
- Segment Fault调试跟踪技巧
- 对象的构造和析构
- 快速删除浏览器缓存
- 有道理的事情
- UIView中动画
- windows路径操作API函数