Java 网络编程3---URLEncoder与URLDecoder

Java中如果要完成URL的编码和解码操作,可以使用URLEncoderURLDecoder两个类,URLEncoder可以为传递的内容进行编码,而URLDecoder可以为传递的内容进行解码。这两个类常用的方法如下。

序号URLEncoder类常用方法描述
1public static String encode(String s, String enc)使用指定的编码机制将字符串转换为 application/x-www-form-urlencoded 格式。
序号URLDecoder类常用方法描述
1public static String decode(String s, String enc)使用指定的编码机制对 application/x-www-form-urlencoded 字符串解码。

实例:编码和解码操作

package my.net.encoder_decoder;

import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.net.URLEncoder;

public class Encode_Decode
{
    public static void main(String[] args) throws UnsupportedEncodingException
    {
        String urlStr = "file:///D:/dev/workspace/Net/%E4%B8%8A%E4%B8%80%E7%AF%87%E5%8D%9A%E5%AE%A2.html";
        String urlDecoder = URLDecoder.decode(urlStr, "utf-8");
        // 把解码的好的字符串在编程成utf-8编码
        String urlEncoderutf8 = URLEncoder.encode(urlDecoder, "utf-8");
        System.out.println("原字符串                :"+urlStr);
        System.out.println("解码后的字符串     :"+urlDecoder);
        System.out.println("重新编码为utf-8:"+urlEncoderutf8);
        System.out.println("再次解码                :"+URLDecoder.decode(urlEncoderutf8, "utf8"));
        System.out.println();
    }
}

运行结果:

原字符串       :file:///D:/dev/workspace/Net/%E4%B8%8A%E4%B8%80%E7%AF%87%E5%8D%9A%E5%AE%A2.html
解码后的字符串  :file:///D:/dev/workspace/Net/上一篇博客.html
重新编码为utf-8:file%3A%2F%2F%2FD%3A%2Fdev%2Fworkspace%2FNet%2F%E4%B8%8A%E4%B8%80%E7%AF%87%E5%8D%9A%E5%AE%A2.html
再次解码       :file:///D:/dev/workspace/Net/上一篇博客.html

中文转为Unicode字符

String str = "中文";
try
{
    String encodeStr = URLEncoder.encode(str, "utf-16be");
    encodeStr = encodeStr.replaceAll("%(.{2})%(.{2})", "\\\\u$1$2");
    System.out.println(encodeStr);
} catch (UnsupportedEncodingException e)
{
    // TODO Auto-generated catch block
    e.printStackTrace();
}

运行结果:

\u4E2D\u6587
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值