网站首页 新闻首页 网页设计图形动画软件编程网站开发办公软件操作系统数据库网络技术认证考试范文资料黑客攻防 书籍教程 进入论坛

Jakarta-Common-Codec使用笔记

http://www.diybl.com/ 2008-1-25  网络 点击:  [ 评论 ]
文章搜索:    【点击打包该文章】

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 的软件开发.



文章整理:DIY部落 http://www.diybl.com (本站)   【点击打包该文章】
如果图片或页面不能正常显示请点击这里 站内搜索:   

文章评论

请您留言

 

最新新闻