`
java2000.net
  • 浏览: 633503 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

URLEncoder的只编码中文字符的类

    博客分类:
  • JAVA
阅读更多
package log;

import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * 正则替换字符串里面的汉字部分。
 * 
 * @author 赵学庆 www.java2000.net
 */
public class URLEncoderHZ {
  public static void main(String[] args) throws Exception {
    String str = "http://192.168.1.1:8080/resources/电话.xls";
    System.out.println(encode(str, "UTF-8"));
  }

  private static String zhPattern = "[\u4e00-\u9fa5]+";

  /**
   * 替换字符串卷
   * 
   * @param str 被替换的字符串
   * @param charset 字符集
   * @return 替换好的
   * @throws UnsupportedEncodingException 不支持的字符集
   */
  public static String encode(String str, String charset) throws UnsupportedEncodingException {
    Pattern p = Pattern.compile(zhPattern);
    Matcher m = p.matcher(str);
    StringBuffer b = new StringBuffer();
    while (m.find()) {
      m.appendReplacement(b, URLEncoder.encode(m.group(0), charset));
    }
    m.appendTail(b);
    return b.toString();
  }
}

 

输出
http://192.168.1.1:8080/resources/%E7%94%B5%E8%AF%9D.xls

2
0
分享到:
评论

相关推荐

    java使用URLDecoder和URLEncoder对中文字符进行编码和解码

    主要介绍了java 使用 URLDecoder 和 URLEncoder 对中文字符进行编码和解码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    PB 进制转换 url编码 urlencode urldecode 数组排序

    hexencode 将字符串指定字符集进行编码成16进制字符串 hexstring 将字符串指定字符集进行编码成16进制字符串 power 求数字的幂函数 replace 将指定字符串中的源字符替换为目标字符 todec 将指定进制的数字转换成10...

    URLEncoder与URLDecoder的应用

    URLEncoder与URLDecoder的应用 对中文字符进行utf-8编码与解码 希望对各位有用

    UniEncoder解码库-可以快速解码和编码

    UniEncoder解码库-可以快速解码和编码,日常开发中经常会进行对字符串的各种编码和解码,很方便。

    html 中文乱码 HTML超链接中文乱码问题分析及解决方法

    在这里碰到的问题是:调用java.net.URLEncoder的encode()方法时,如果没有显示指定字符集参数,那么URLEncoder会使用默认字符集。这个默认字符集在Eclipse里跑main()方法和在Tomcat里跑Web应用,得到的结果不一样,...

    expression-engine-urlencoder:用于Expression Engine 3或更高版本的插件,可对字符串进行url编码

    表达式引擎:URL编码器附加组件用于Expression Engine 3或更高版本的附加组件,可使用PHP 函数或函数对字符串进行url编码。安装将urlencoder目录复制到您的system / user / addons文件夹中登录到Expression Engine...

    url中文字符解码

    通过URLEncoder.encode加密地址栏url上得中文字符, 并可通过java.net.URLDecoder.decode(str, charset)解密中文

    GET 方式提交的含有特殊字符的参数

    如我在连接<a>A&T Plastic,在接受参数的时候就没办法读取name参数的正确值,怎么样才能正确读取,还有其他的特殊字符 字符 特殊字符的含义 URL编码 # 用来标志特定的文档位置 # % 对特殊字符进行编码 % & 分隔不同...

    javascript中encodeURI和decodeURI方法使用介绍

    一、基本概念 encodeURI和decodeURI是成对来使用的,因为浏览器的地址栏有中文字符的话,可以会出现不可预期的错误,所以可以encodeURI把非英文字符转化为英文编码,decodeURI可以用来把字符还原回来。encodeURI方法...

    Android UTF-8转码实例详解

    在项目中可能会遇到url中有中文的情况,这个时候我们可能需要对url进行编码 mport java.io.UnsupportedEncodingException; import java.net.URLDecoder; import java.net.URLEncoder; public class UTFTest { ...

    Android编程向服务器发送请求时出现中文乱码问题的解决方法

    本文实例讲述了Android编程向服务器发送请求时出现中文乱码问题的解决方法。分享给大家供大家参考,具体... 代码如下:URLEncoder.encode(value, 编码方式); //”UTF-8″ 2、 通过IOS8859得到字符串的二进制数据,然后再

    疯狂JAVA讲义

    学生提问:既然内部类是外部类的成员,是否可以为外部类定义子类,在子类中再定义一个内部类来重写其父类中的内部类? 211 6.7.4 局部内部类 211 6.7.5 匿名内部类 212 6.7.6 闭包(Closure)和回调 215 6.8 ...

    关于Android WebView的loadData方法的注意事项分析

    我们需要用UrlEncoder编码为#, %, ', ? 。可以使用以下两种代码,data为string类型的html代码1、webView.loadData(URLEncoder.encode(data, “utf-8”), “text/html”, “utf-8”);这样一些背景效果什么的都不怎么...

    Java get 提交乱码处理方法

    解决办法  1、在后台获取时采用  String b = new String(request.getParameter("name").getBytes("iso-8859...  在前台处理汉字 java.net.URLEncoder.ecode("中文","GBK");//前面是要处理的中文字符  eg: win

    Java开发详解.zip

    031216_【第12章:JAVA IO】_字符编码笔记.pdf 031217_【第12章:JAVA IO】_对象序列化笔记.pdf 031218_〖第12章:JAVA IO〗_实例操作—单人信息管理程序笔记.pdf 031219_〖第12章:JAVA IO〗_实例操作:投票程序...

    达内客户端+聊天室源码

    //处理源码筛选字符串,只获取含有问题标题的内容 // System.out.println(queStr);//测试标题部分字符串 String[] queArr = queStr.split("(||)"); for(int i=0;i;i++){ String msg = queArr[i]; msg = msg....

Global site tag (gtag.js) - Google Analytics