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. `URLDecoder.decode`: 解码URL中的编码字符串,恢复原始的文本信息。 在处理网络请求、特别是涉及到中文字符和其他特殊字符时,这两个工具类是必不可少的。理解它们的工作原理和使用方法,能帮助开发者避免编码...
首先,`URLEncoder`类的主要任务是对字符串中的非字母数字字符进行编码,将其转换为百分比编码(%nn)的形式,其中nn是字符的ASCII值的十六进制表示。在实现这个类时,我们需要遍历输入字符串,对每个字符进行检查,...
URLEncoder 类可以将这些数据编码为 URL 可以识别的格式,而 URLDecoder 类可以将这些数据解码回原始字符串。 四、结论 URLEncoder 和 URLDecoder 是两个非常有用的类,它们可以帮助我们处理 URL 编码和解码问题。...
在Java编程语言中,`URLEncoder`与`URLDecoder`是处理URL编码和解码的两个重要工具类。它们主要应用于对字符串进行编码或解码,确保这些字符串能够安全地在网络上传输。尤其是在处理包含特殊字符(如中文字符)的...
解决这个问题可以使用URLDecoder和 URLEncoder类,这些类可以将中文字符正确地编码和解码,从而解决提交中文乱码的问题。 Java中文字符编码探究是非常重要的。了解不同的字符编码方式和Java中的字符编码机制,可以...
hexencode 将字符串指定字符集进行编码成16进制字符串 hexstring 将字符串指定字符集进行编码成16进制字符串 power 求数字的幂函数 replace 将指定字符串中的源字符替换为目标字符 todec 将指定进制的数字转换成10...
- URL编码:URL中非ASCII字符需要使用`URLEncoder.encode()`进行编码,`URLDecoder.decode()`解码。 3. **系统软件和工具软件的编码** - 操作系统、编辑器、数据库等可能有自己的默认字符集,与Java程序交互时需...
了解如何在Java中获取和处理字符串的编码至关重要,尤其是在处理包含中文字符的情况下,因为中文字符可能涉及多种编码格式,如GBK、GB2312、UTF-8等。本文将深入探讨Java中字符串编码的相关知识点。 1. 字符串与...
对于URL编码,Java提供了`URLEncoder.encode()`方法,但默认使用的是ISO-8859-1编码,对于中文字符会存在问题。我们需要显式指定UTF-8编码,如下所示: ```java String url = ...
- **解决方案**: 在生成链接时,使用`URLEncoder.encode("中文", "UTF-8")`对参数进行编码,确保传输过程中字符集的一致性。 **4. 地址栏中直接输入中文参数** - **问题**: 直接在地址栏输入包含中文的URL参数时,...
// 使用GBK编码编码字符串 ``` 3. 文件读写中的编码设置 在处理文件时,特别是读写文本文件,需要设置正确的编码。`FileReader`和`FileWriter`类不接受编码参数,而`InputStreamReader`和`OutputStreamWriter`则...
在Java中,`java.net.URLEncoder`和`java.net.URLDecoder`两个类常用于URL编码和解码,而`java.nio.charset`包提供了对各种字符编码的支持。然而,`Escape.java`源代码可能是自定义实现的一个工具类,它可能包含了...
例如,空格被转换为"%20",而中文字符会被转换为多个连续的百分比编码。 在提供的压缩包文件中,我们看到几个以"URLEncoder"命名的文件,这表明这些文件可能是用于实现URLEncode功能的C++代码。例如: - `...
URLEncoder的主要作用是对URL中的参数进行编码,这是因为URL中不能包含某些特殊字符,如空格、引号、冒号等。使用URLEncoder.encode()方法,可以将字符串转换为适合在URL中传输的形式。例如,如果有一个包含空格的...
这两个工具类可能分别采用了不同的编码策略,例如一个可能使用了Java的`java.net.URLEncoder`类并指定GBK为字符集,另一个可能实现了自定义的编码算法来确保GBK字符的正确转换。 在实际应用中,使用这样的工具类...
C# Encoder 与 Decoder的例子,详细注释。 Encoder Decoder 编码 解码 C# Encoder Decoder 编码 解码 C# Encoder Decoder 编码 解码 C# Encoder Decoder 编码 解码 C#
- **System.Text.Encoding类库**:C#标准库中包含了多个Encoding类,如ASCIIEncoding、UTF8Encoding、UnicodeEncoding等,它们分别对应不同的字符编码标准,可以方便地进行编码和解码操作。 - **使用示例**: ```...
大多数浏览器默认使用UTF-8编码传递参数,因此,服务器端接收中文参数时,需确保正确解码,如使用URLEncoder/URLDecoder进行编码解码。 总结,Java中文乱码问题涉及多个层面,包括源文件编码、编译过程、执行环境...