Jakarta-Common-Codec使用笔记
http://www.diybl.com/ 2008-1-25 网络 点击:
[ 评论 ]
文章搜索:
【点击打包该文章】
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);
}
}

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);
}
}

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");
}
}
}

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 的软件开发.
如果图片或页面不能正常显示请点击这里 站内搜索:
推荐文章 |
