手机端小强原创文章,java小强个人博客站点
当前位置: 首页 >> 开源 >> Apache Commons Codec

Apache Commons Codec

32560 开源 | 2015-5-6

Apache Commons Codec

Apache Commons Codec (TM) software provides implementations of common encoders and decoders such as Base64, Hex, Phonetic and URLs.

 

Impetus

Codec was formed as an attempt to focus development effort on one definitive implementation of the Base64 encoder. At the time of Codec's proposal, there were approximately 34 different Java classes that dealt with Base64 encoding spread over the Foundation's CVS repository. Developers in the Jakarta Tomcat project had implemented an original version of the Base64 codec which had been copied by the Commons HttpClient and Apache XML project's XML-RPC subproject. After almost one year, the two forked versions of Base64 had significantly diverged from one another. XML-RPC had applied numerous fixes and patches which were not applied to the Commons HttpClient Base64. Different subprojects had differing implementations at various levels of compliance with the RFC 2045.

Out of that confusing duplication of effort sprang this simple attempt to encourage code reuse among various projects. While this package contains a abstract framework for the creation of encoders and decoders, Codec itself is primarily focused on providing functional utilities for working with common encodings.

 

URL:http://commons.apache.org/proper/commons-codec/index.html

 

DEMO:

package test;
import org.apache.commons.codec.binary.Base32;
import org.apache.commons.codec.binary.Base64;
import org.apache.commons.codec.binary.BinaryCodec;
import org.apache.commons.codec.digest.DigestUtils;
import org.apache.commons.codec.net.URLCodec;
public class CodecTest {
 
 public static void main(String[] args) throws Exception{
  String str = "abc";  
  
  // MD5
  System.out.println(DigestUtils.md5Hex(str)); 
  
  // SHA1
  System.out.println(DigestUtils.sha1Hex(str));
  
  // Base64 加密
  byte[] b = str.getBytes();
  b = Base64.encodeBase64(b);
  System.out.println("Base64 Encode:" + new String(b));
  // Base64 解密
  b = Base64.decodeBase64(b);
  System.out.println("Base64 Decode:" + new String(b));
  
  Base32 b32 = new Base32();
  b = b32.encode(str.getBytes());
  System.out.println("Base32 Encode:" + new String(b));
  b = b32.decode(b);
  System.out.println("Base32 Decode:" + new String(b));
  
  // URL Encode
  URLCodec uc = new URLCodec();
  String s = uc.encode("http://www.javacui.com?name=崔素强", "UTF-8");
  System.out.println("URLCodec encode:" + s);
  s = uc.decode(s);
  System.out.println("URLCodec decode:" + s);
  
  // 二进制
  char[] c = BinaryCodec.toAsciiChars(str.getBytes());
  for(char bt : c){
   System.out.print(bt + " ");
  }
  System.out.println();
  b = BinaryCodec.fromAscii(c);
  System.out.println("BinaryCodec decode:" + new String(b));
  
  // StringUtils
 }
}

 

Console Out:

900150983cd24fb0d6963f7d28e17f72
a9993e364706816aba3e25717850c26c9cd0d89d
Base64 Encode:YWJj
Base64 Decode:abc
Base32 Encode:MFRGG===
Base32 Decode:abc
URLCodec encode:http%3A%2F%2Fwww.javacui.com%3Fname%3D%E5%B4%94%E7%B4%A0%E5%BC%BA
URLCodec decode:http://www.javacui.com?name=崔素强
0 1 1 0 0 0 1 1 0 1 1 0 0 0 1 0 0 1 1 0 0 0 0 1 
BinaryCodec decode:abc

 

Down:

commons-codec-1.10-src.zip

commons-codec-1.10.zip

apidocs.zip

 

OVER

推荐您阅读更多有关于“ apache commons Codec ”的文章

上一篇:JDBC读写大数据字段示例 下一篇:手机端使用提示样式

猜你喜欢

发表评论:

个人资料
blogger

java小强
没有思考,人生的路会越走越难!

搜索
分类
最新微语
  • 8月1日,我已离开奋斗多年的北京。不知道是暂时的离开,还是永久的离别,反正已经离职在家,告别每日上班,每天苦累的煎熬,过一段属于自己的生活。以前是专职工作,现在专职生活。

    2017-08-18 12:47

  • 又弄完一个项目,累成狗,但是感觉又进步不少,除了很多坑已经踩过,做起来也是轻车熟路。同时也认识到,程序不在于你多牛逼,而是在乎你的细节把控度,而细节的关注,是一个优秀程序员必须要注意的。另外,要相信自己,勇敢向前,没人生下来就是成功的,而且,成功的路,比成功本身更重要。

    2017-06-30 09:46

  • 今日北京再次沙尘暴来袭,吃了几年细粮,终于能来口粗粮了,不过大早上看见这场景,还是吓我一跳,不过随后就平静了,毕竟是老朋友了。进公司又发现一股烤糊的味道,真是祸不单行啊,例外都是污染。发了两个口罩,开启保护模式。

    2017-05-04 10:16

  • 今天同学问我,最近还在写代码吗?我想了想,这个问题怎么回答呢,我好像确实很长时间,虽然写了一些,但是主要内容已经不是写代码了。然后再想想,自己也7年多了,这么多年了,我收获了什么,我的目标到底是什么。眼看就奔三了,人生啊,开启感叹模式。

    2017-03-30 22:52

  • 也许大家都已经注意到了,今年的房价,好多地方都是翻了一番,跟着就是,各地房东开始变相涨租。今年之所以搬走,就是为此,这两天同学也是如此。很多房东只认钱,别谈感情,伤钱。而对于这个城市来说,你怎么定位自己,你真把自己当成她的一份子?你来此为何?将来何去何从?自己掂量清楚。

    2016-12-05 10:03

  • 更多»

最新文章
热门文章
随机文章