URLEncoder和URLDecoder

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

Java代码 收藏代码
  1. importjava.io.UnsupportedEncodingException;
  2. importjava.net.URLDecoder;
  3. importjava.net.URLEncoder;
  4. publicclassChineseToUTF8{
  5. publicstaticStringEncode(Stringchinese)throwsUnsupportedEncodingException
  6. {
  7. StringnewStr=URLEncoder.encode(chinese,"utf8");
  8. returnnewStr;
  9. }
  10. publicstaticStringDecode(Stringutf8)throwsUnsupportedEncodingException
  11. {
  12. StringnewStr=URLDecoder.decode(utf8,"utf8");
  13. returnnewStr;
  14. }
  15. publicstaticvoidmain(String[]args)throwsUnsupportedEncodingException{
  16. System.out.println(Encode("分辨率"));
  17. System.out.println(Decode(Encode("分辨率")));
  18. }
  19. }

运行结果:

Java代码 收藏代码
  1. %E5%88%86%E8%BE%A8%E7%8E%87
  2. 分辨率

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值