Java - 문자열 코덱 변환

Posted 06 27, 2013 10:39, Filed under: Language/JAVA


Java 문자열 코덱 변환


Apache commons-codec 라이브러리 이용


문자열 코덱 변환 웹 페이지

StringConvert.java
import java.io.UnsupportedEncodingException;

import org.apache.commons.codec.DecoderException;
import org.apache.commons.codec.EncoderException;
import org.apache.commons.codec.binary.Base64;
import org.apache.commons.codec.binary.Hex;
import org.apache.commons.codec.digest.DigestUtils;
import org.apache.commons.codec.net.BCodec;
import org.apache.commons.codec.net.QCodec;
import org.apache.commons.codec.net.URLCodec;


public class StringConvert {

    /**
     * # Base64 encode/decode
     */    
    public String convertBase64(String type, String str){
        String result = null;
        if(type.equals("enc")){
            result = new String(Base64.encodeBase64(str.getBytes()));
        }else if(type.equals("dec")){
            result = new String(Base64.decodeBase64(str.getBytes()));
        }
        return result;
    }
    
    /**
     * # URL encode/decode
     */
    public String convertUrl(String type, String str, String charset){
        String result = null;
        URLCodec urlCodec = new URLCodec();
//        System.out.println("# urlCodec.getDefaultCharset() :"+urlCodec.getDefaultCharset());
        try {
            if(type.equals("enc")){
                result = urlCodec.encode(str, charset);
            }else if(type.equals("dec")){
                result = urlCodec.decode(str, charset);
            }
        }catch(DecoderException e){
            e.printStackTrace();
        }catch(UnsupportedEncodingException e){
            e.printStackTrace();
        }
        return result;
    }
    
    /**
     * # MD5 단방향 인코딩
     */
    public String convertMD5(String str){
        return DigestUtils.md5Hex(str);
    }
    
    /**
     * SHA 단방향 인코딩
     */
    public String convertSHA(String str){
        return DigestUtils.sha1Hex(str);
    }    
    
    /**
     * # Hex
     */    
    public String convertHex(String type, String str){
        String result = null;
        if(type.equals("enc")){
            result = new String(Hex.encodeHex(str.getBytes()));
        }else if(type.equals("dec")){
            try {
                result = new String(Hex.decodeHex(str.toCharArray()));
            } catch (DecoderException e) {
                e.printStackTrace();
            }
        }
        return result;
    }    
    
    
    /**
     * # QCodec encode/decode
     */
    public String convertQCodec(String type, String str){
        String result = null;
        QCodec qcodec = new QCodec();
        if(type.equals("enc")){
            try {
                result = qcodec.encode(str);
            } catch (EncoderException e) {
                e.printStackTrace();
            }
        }else if(type.equals("dec")){
            try {
                result = qcodec.decode(str);
            } catch (DecoderException e) {
                e.printStackTrace();
            }
        }
        return result;
    }
    
    /**
     * # BCodec encode/decode
     */
    public String convertBCodec(String type, String str){
        String result = "";
        BCodec bcodec = new BCodec();
        if(type.equals("enc")){
            try {
                result = (String) bcodec.encode((Object) str);
            } catch (EncoderException e) {
                e.printStackTrace();
            }
        }else if(type.equals("dec")){
            try {
                result = bcodec.decode(str);
            } catch (DecoderException e) {
                e.printStackTrace();
            }
        }
        return result;
    }

    public static void main(String[] arr){
        StringConvert sc = new StringConvert();
        String str = "문자열 코덱 변환기 -  sunshiny";
//        System.out.println(sc.convertBase64("enc", str));
        System.out.println("# Url Encode :"+sc.convertUrl("enc", str, "UTF-8"));
        System.out.println("# Url Decode :"+sc.convertUrl("dec", sc.convertUrl("enc", str, "UTF-8"), "UTF-8"));
    }
}



참고 사이트 : http://www.mimul.com

※ 위 내용은, 여러 자료를 참고하거나 제가 주관적으로 정리한 것입니다.
   잘못된 정보나 보완이 필요한 부분을, 댓글 또는 메일로 보내주시면 많은 도움이 되겠습니다.
06 27, 2013 10:39 06 27, 2013 10:39


Trackback URL : http://develop.sunshiny.co.kr/trackback/930

Leave a comment


Recent Posts

  1. HDFS - Python Encoding 오류 처리
  2. HP - Vertica ROS Container 관련 오류...
  3. HDFS - Hive 실행시 System Time 오류
  4. HP - Vertica 사용자 쿼리 이력 테이블...
  5. Client에서 HDFS 환경의 데이터 처리시...

Recent Comments

  1. Article writing is also a exciteme... 레깅스룸 02 16,
  2. I like reading an article that can... 부산고구려 02 16,
  3. Asking questions are truly nice th... 해운대룸싸롱 02 15,
  4. Pretty! This was an extremely wond... 분당셔츠룸 02 15,
  5. Wonderful beat ! I would like to a... 레깅스룸가격 02 14,

Recent Trackbacks

  1. london relocation ltd london relocation ltd 16 02
  2. extract your knowledge extract your knowledge 16 02
  3. dog cart dog cart 15 02
  4. This Site This Site 15 02
  5. massive action massive action 15 02

Calendar

«   02 2020   »
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29

Bookmarks

  1. 위키피디아
  2. MysqlKorea
  3. 오라클 클럽
  4. API - Java
  5. Apache Hadoop API
  6. Apache Software Foundation
  7. HDFS 생태계 솔루션
  8. DNSBL - Spam Database Lookup
  9. Ready System
  10. Solaris Freeware
  11. Linux-Site
  12. 윈디하나의 솔라나라

Site Stats

TOTAL 2846534 HIT
TODAY 96 HIT
YESTERDAY 544 HIT