| <?xml version="1.0"?> |
| <!-- |
| Copyright 2002-2005 The Apache Software Foundation. |
| |
| Licensed under the Apache License, Version 2.0 (the "License"); |
| you may not use this file except in compliance with the License. |
| You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| |
| <document> |
| |
| <properties> |
| <title>Commons Codec</title> |
| <author email="tobrien@apache.org">Tim O'Brien</author> |
| </properties> |
| |
| <body> |
| |
| <section name="Commons Codec"> |
| |
| <p> |
| Welcome. Commons Codec provides implementations of common |
| encoders and decoders such as Base64, Hex, various phonetic |
| encodings, and URLs. |
| </p> |
| |
| </section> |
| |
| <section name="Impetus"> |
| <p> |
| 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 <a href="http://www.ietf.org/rfc/rfc2045.txt"> |
| RFC 2045</a>. |
| </p> |
| <p> |
| 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. |
| </p> |
| </section> |
| |
| <section name="Releases"> |
| <ul> |
| <li>Version 1.3 - 10 July 2004 (latest, from mirror) |
| <a href="http://jakarta.apache.org/site/binindex.cgi">binary</a> and |
| <a href="http://jakarta.apache.org/site/sourceindex.cgi">source</a> |
| </li> |
| <li> |
| Version <a href="http://www.apache.org/dist/jakarta/commons/codec/">1.2</a> - 24 Nov 2003 |
| </li> |
| <li> |
| Version <a href="http://www.apache.org/dist/jakarta/commons/codec/">1.1</a> - 29 April 2003 |
| </li> |
| <li> |
| Current <a href="http://cvs.apache.org/builds/jakarta-commons/nightly/commons-codec/"> nightly build</a> |
| </li> |
| <li> |
| All <a href="changes-report.html">Release Notes</a> |
| </li> |
| </ul> |
| </section> |
| |
| <section name="Components"> |
| |
| <p> |
| Codec is currently comprised of a modest set of utilities and a |
| simple framework for encoding and decoding both textual and binary data. |
| </p> |
| |
| <subsection name="Binary Encoders"> |
| <table> |
| <tr> |
| <td width="150"> |
| <a href="apidocs/org/apache/commons/codec/binary/Base64.html"> |
| Base64</a> |
| </td> |
| <td> |
| Provides Base64 content-transfer-encoding as defined in |
| <a href="http://www.ietf.org/rfc/rfc2045.txt">RFC 2045</a>. This |
| encoder can optionally create 76 character chunked output |
| for strict adherence to RFC 2045. |
| </td> |
| </tr> |
| <tr> |
| <td> |
| <a href="apidocs/org/apache/commons/codec/binary/Hex.html"> |
| Hex</a> |
| </td> |
| <td> |
| Converts an array of bytes into an array of characters representing the |
| hexadecimal values of each byte in order |
| </td> |
| </tr> |
| <tr> |
| <td width="150"> |
| <a href="apidocs/org/apache/commons/codec/binary/BinaryCodec.html"> |
| BinaryCodec</a> |
| </td> |
| <td> |
| Translates between byte arrays and strings of "0"s and "1"s. |
| </td> |
| </tr> |
| </table> |
| </subsection> |
| |
| <subsection name="Language Encoders"> |
| <table> |
| <tr> |
| <td width="150"> |
| <a href="apidocs/org/apache/commons/codec/language/Soundex.html"> |
| Soundex</a> |
| </td> |
| <td> |
| Implementation of the Soundex algorithm. |
| </td> |
| </tr> |
| <tr> |
| <td> |
| <a href="apidocs/org/apache/commons/codec/language/Metaphone.html"> |
| Metaphone</a> |
| </td> |
| <td> |
| Implementation of the Metaphone algorithm. |
| </td> |
| </tr> |
| <tr> |
| <td> |
| <a href="apidocs/org/apache/commons/codec/language/RefinedSoundex.html"> |
| Refined Soundex</a> |
| </td> |
| <td> |
| Alternative implementation of the Soundex algorithm. |
| </td> |
| </tr> |
| <tr> |
| <td> |
| <a href="apidocs/org/apache/commons/codec/language/DoubleMetaphone.html"> |
| Double Metaphone</a> |
| </td> |
| <td> |
| Alternative implementation of the Metaphone algorithm. |
| </td> |
| </tr> |
| |
| </table> |
| </subsection> |
| |
| <subsection name="Digest Encoders"> |
| <table> |
| <tr> |
| <td width="150"> |
| <a href="apidocs/org/apache/commons/codec/digest/DigestUtils.html"> |
| DigestUtils</a> |
| </td> |
| <td> |
| Provides simple static methods for creating a SHA or MD5 digest. |
| </td> |
| </tr> |
| </table> |
| </subsection> |
| |
| <subsection name="Network Encoders"> |
| <table> |
| <tr> |
| <td width="150"> |
| <a href="apidocs/org/apache/commons/codec/net/URLCodec.html"> |
| URLCodec</a> |
| </td> |
| <td> |
| Implements the <code>www-form-urlencoded</code> encoding scheme, also misleadingly known as URL encoding. |
| </td> |
| </tr> |
| <tr> |
| <td width="150"> |
| <a href="apidocs/org/apache/commons/codec/net/QuotedPrintableCodec.html"> |
| QuotedPrintableCodec</a> |
| </td> |
| <td> |
| Codec for RFC 1521 MIME (Multipurpose Internet Mail Extensions) Part One. Rules #3, #4, and #5 of the quoted-printable spec are not implemented yet |
| </td> |
| </tr> |
| <tr> |
| <td width="150"> |
| <a href="apidocs/org/apache/commons/codec/net/BCodec.html"> |
| BCodec</a> |
| </td> |
| <td> |
| Identical to the Base64 encoding defined by <a href="http://www.ietf.org/rfc/rfc1521.txt">RFC 1521</a> and allows a character set to be specified. |
| </td> |
| </tr> |
| <tr> |
| <td width="150"> |
| <a href="apidocs/org/apache/commons/codec/net/QCodec.html"> |
| QCodec</a> |
| </td> |
| <td> |
| Similar to the Quoted-Printable content-transfer-encoding defined in <a |
| href="http://www.ietf.org/rfc/rfc1521.txt">RFC 1521</a> and designed to allow text containing mostly ASCII |
| characters to be decipherable on an ASCII terminal without decoding. |
| </td> |
| </tr> |
| </table> |
| </subsection> |
| |
| </section> |
| |
| </body> |
| </document> |