URLEncoder的只编码中文字符的类

Java代码

package log;     import java.io.UnsupportedEncodingException;   import java.net.URLEncoder;   import java.util.regex.Matcher;   import java.util.regex.Pattern;     /**   * 正则替换字符串里面的汉字部分。   *    * @   */  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

因为有梦,所以勇敢出发,选择出发,便只顾风雨兼程。

URLEncoder的只编码中文字符的类

相关文章:

你感兴趣的文章:

标签云: