`
java2000.net
  • 浏览: 651530 次
  • 性别: 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对中文字符进行编码和解码

    2. `URLDecoder.decode`: 解码URL中的编码字符串,恢复原始的文本信息。 在处理网络请求、特别是涉及到中文字符和其他特殊字符时,这两个工具类是必不可少的。理解它们的工作原理和使用方法,能帮助开发者避免编码...

    J2ME URLEncoder 和 URLDecoder 类的实现

    首先,`URLEncoder`类的主要任务是对字符串中的非字母数字字符进行编码,将其转换为百分比编码(%nn)的形式,其中nn是字符的ASCII值的十六进制表示。在实现这个类时,我们需要遍历输入字符串,对每个字符进行检查,...

    java中的URLEncoder和URLDecoder类.docx

    URLEncoder 类可以将这些数据编码为 URL 可以识别的格式,而 URLDecoder 类可以将这些数据解码回原始字符串。 四、结论 URLEncoder 和 URLDecoder 是两个非常有用的类,它们可以帮助我们处理 URL 编码和解码问题。...

    URLEncoder与URLDecoder的应用

    在Java编程语言中,`URLEncoder`与`URLDecoder`是处理URL编码和解码的两个重要工具类。它们主要应用于对字符串进行编码或解码,确保这些字符串能够安全地在网络上传输。尤其是在处理包含特殊字符(如中文字符)的...

    Java中文字符编码探究.pdf

    解决这个问题可以使用URLDecoder和 URLEncoder类,这些类可以将中文字符正确地编码和解码,从而解决提交中文乱码的问题。 Java中文字符编码探究是非常重要的。了解不同的字符编码方式和Java中的字符编码机制,可以...

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

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

    JAVA字符编码系列三[借鉴].pdf

    - URL编码:URL中非ASCII字符需要使用`URLEncoder.encode()`进行编码,`URLDecoder.decode()`解码。 3. **系统软件和工具软件的编码** - 操作系统、编辑器、数据库等可能有自己的默认字符集,与Java程序交互时需...

    java字符串编码获取

    了解如何在Java中获取和处理字符串的编码至关重要,尤其是在处理包含中文字符的情况下,因为中文字符可能涉及多种编码格式,如GBK、GB2312、UTF-8等。本文将深入探讨Java中字符串编码的相关知识点。 1. 字符串与...

    深入分析 Java 中的中文编码问题

    对于URL编码,Java提供了`URLEncoder.encode()`方法,但默认使用的是ISO-8859-1编码,对于中文字符会存在问题。我们需要显式指定UTF-8编码,如下所示: ```java String url = ...

    tomcat字符编码总结

    - **解决方案**: 在生成链接时,使用`URLEncoder.encode("中文", "UTF-8")`对参数进行编码,确保传输过程中字符集的一致性。 **4. 地址栏中直接输入中文参数** - **问题**: 直接在地址栏输入包含中文的URL参数时,...

    Java设置String字符串编码方法详解

    // 使用GBK编码编码字符串 ``` 3. 文件读写中的编码设置 在处理文件时,特别是读写文本文件,需要设置正确的编码。`FileReader`和`FileWriter`类不接受编码参数,而`InputStreamReader`和`OutputStreamWriter`则...

    Java文本字符编码解码操作类 Escape.java源代码.rar

    在Java中,`java.net.URLEncoder`和`java.net.URLDecoder`两个类常用于URL编码和解码,而`java.nio.charset`包提供了对各种字符编码的支持。然而,`Escape.java`源代码可能是自定义实现的一个工具类,它可能包含了...

    URLEncode 字符编码转换

    例如,空格被转换为"%20",而中文字符会被转换为多个连续的百分比编码。 在提供的压缩包文件中,我们看到几个以"URLEncoder"命名的文件,这表明这些文件可能是用于实现URLEncode功能的C++代码。例如: - `...

    j2ME URLEncoder Vs URLDEcoder

    URLEncoder的主要作用是对URL中的参数进行编码,这是因为URL中不能包含某些特殊字符,如空格、引号、冒号等。使用URLEncoder.encode()方法,可以将字符串转换为适合在URL中传输的形式。例如,如果有一个包含空格的...

    url编码gbk格式

    这两个工具类可能分别采用了不同的编码策略,例如一个可能使用了Java的`java.net.URLEncoder`类并指定GBK为字符集,另一个可能实现了自定义的编码算法来确保GBK字符的正确转换。 在实际应用中,使用这样的工具类...

    C# 字符编码与解码(Encoder and Decoder)

    C# Encoder 与 Decoder的例子,详细注释。 Encoder Decoder 编码 解码 C# Encoder Decoder 编码 解码 C# Encoder Decoder 编码 解码 C# Encoder Decoder 编码 解码 C#

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

    - **System.Text.Encoding类库**:C#标准库中包含了多个Encoding类,如ASCIIEncoding、UTF8Encoding、UnicodeEncoding等,它们分别对应不同的字符编码标准,可以方便地进行编码和解码操作。 - **使用示例**: ```...

    java中文乱码字符集解决大全.pdf

    大多数浏览器默认使用UTF-8编码传递参数,因此,服务器端接收中文参数时,需确保正确解码,如使用URLEncoder/URLDecoder进行编码解码。 总结,Java中文乱码问题涉及多个层面,包括源文件编码、编译过程、执行环境...

Global site tag (gtag.js) - Google Analytics