程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> URLEncoder的只編碼中文字符的類

URLEncoder的只編碼中文字符的類

編輯:關於JAVA

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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved