Jakarta-Common-Codec使用笔记

commons codec 提供 base64, hex, 及 metaphone, soundex 等编码演算。

下载地址:http://commons.apache.org/codec/

A.Base64 编解码

package demo;import org.apache.commons.codec.binary.Base64;public class Base64Test ...{  public static void main(String[] args) ...{    Base64 base64 = new Base64();    String str = "中文";    byte[] enbytes = null;    String encodeStr = null;    byte[] debytes = null;    String decodeStr = null;    enbytes = base64.encode(str.getBytes());    encodeStr = new String(enbytes);    debytes = base64.decode(enbytes);    decodeStr = new String(debytes);    System.out.println("编码前:" + str);    System.out.println("编码后:" + encodeStr);    System.out.println("解码后:" + decodeStr);  }}

B.Hex 编解码

package demo;import org.apache.commons.codec.DecoderException;import org.apache.commons.codec.binary.Hex;public class HexTest ...{  public static void main(String[] args) throws DecoderException ...{    Hex hex = new Hex();    String str = "中文";    char[] enbytes = null;    String encodeStr = null;    byte[] debytes = null;    String decodeStr = null;    enbytes = hex.encodeHex(str.getBytes());    encodeStr = new String(enbytes);    debytes = hex.decodeHex(enbytes);    decodeStr = new String(debytes);    System.out.println("编码前:" + str);    System.out.println("编码后:" + encodeStr);    System.out.println("解码后:" + decodeStr);  }}

C.Metaphone 及 Soundex 编码

package demo;import org.apache.commons.codec.language.Metaphone;import org.apache.commons.codec.language.RefinedSoundex;import org.apache.commons.codec.language.Soundex;public class LanguageTest ...{  public static void main(String[] args) ...{    Metaphone metaphone = new Metaphone();    RefinedSoundex refinedSoundex = new RefinedSoundex();    Soundex soundex = new Soundex();    for (int i = 0; i < 2; i++) ...{      String str = (i == 0) ? "resume" : "resin";      String mString = null;      String rString = null;      String sString = null;      try ...{        mString = metaphone.encode(str);        rString = refinedSoundex.encode(str);        sString = soundex.encode(str);      } catch (Exception ex) ...{        ;      }      System.out.println("Original:" + str);      System.out.println("Metaphone:" + mString);      System.out.println("RefinedSoundex:" + rString);      System.out.println("Soundex:" + sString + "/n");    }  }}

Metaphone 建立出相同的key给发音相似的单字, 比 Soundex 还要准确, 但是 Metaphone 没有固定长度, Soundex 则是固定第一个英文字加上3个数字. 这通常是用在类似音比对, 也可以用在 MP3 的软件开发.

别小看任何人,越不起眼的人。往往会做些让人想不到的事。

Jakarta-Common-Codec使用笔记

相关文章:

你感兴趣的文章:

标签云: