URLEncoder和URLDecoder

最近编程序到一个问题,就是要把汉字转换成UTF-8编码。一想到编码,我的头就大了,各种各样的码,转来转去的,为什么就不能统一下呢?闲话少说,其实这种问题看似复杂,但只要找到了合适的类,其它事情小菜一碟了。那么合适的类到底是什么呢?就是URLEncoder和URLDecoder。这两个类使用十分方便,因为它们各自只有一个方法,而且都是静态方法(详细信息参见jdk文档)。下面是我稍加封装后的新类。

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

public class ChineseToUTF8 {

	public static String Encode(String chinese) throws UnsupportedEncodingException
	{
		String newStr = URLEncoder.encode( chinese, "utf8");
		return newStr;
	}
	public static String Decode(String utf8) throws UnsupportedEncodingException
	{
		String newStr = URLDecoder.decode( utf8, "utf8");
		return newStr;
	}
	public static void main(String[] args) throws UnsupportedEncodingException {
		System.out.println(Encode("分辨率"));
		System.out.println(Decode(Encode("分辨率")));
	}
}

 

运行结果:

%E5%88%86%E8%BE%A8%E7%8E%87
分辨率

 

从运行结果可以看出,UTF-8把每一个汉字转换成了3个十六进制数,中间用%分开。

你可能感兴趣的:(jdk,编程,.net)