2008.08.27

Commons Codecとは

最近、JavaでBase64エンコード/デコード処理を行いたいケースがあり、
いろいろと実現を方法を探っている際に、Commons Codecについて知りました。
なので、今回はCommons Codecについて書こうと思います。

Commons Codec(以下、Codec)とは、さまざまなエンコードおよびデコード処理を実装するための
共通のインタフェースを提供するものです。
但し、いくつかの実装が既に用意されているためそれらを使用することも可能です。

Codecには、エンコーダとデコーダを実装するためのインタフェースが3種類準備されています。

・Encoder/Decoderインフェース
 入出力共にObject型で実装するインタフェースです。
・BinaryEncoder/BinaryDecoderインフェース
 入出力共にbyte型の配列で実装するインタフェースです。
・StringEncoder/StringDecoderインフェース
 入出力共にString型で実装するインタフェースです。

いずれのインタフェースもエンコーダには、encodeメソッドが、
デコーダには、decodeメソッドが定義されています。
ちなみに、エンコーダとデコーダの2つのインタフェースを実装したクラスを作成すれば、
エンコード、デコードの両方の機能を提供するクラスとなります。

あらかじめ、Codecに準備されている実装は以下のようなものがあります。

・Base64:Base64エンコード/デコード処理を行います。
・Hex:テキスト形式の16進と、バイナリを相互に変換する処理を行います。
・URLCodec:HTML4.01に定義されたURLのエンコード/デコード処理を行います。
etc

参考:Commons Codec
http://commons.apache.org/codec/

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

photo
ykato