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
[로그인][오픈아이디란?]
오픈아이디로만 댓글을 남길 수 있습니다

« Previous : 1 : ... 97 : 98 : 99 : 100 : 101 : 102 : 103 : 104 : 105 : ... 648 : Next »

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. 안녕하세요^^ 배그핵
  2. 안녕하세요^^ 도움이 되셨다니, 저... sunshiny
  3. 정말 큰 도움이 되었습니다.. 감사합... 사랑은
  4. 네, 안녕하세요. 댓글 남겨 주셔서... sunshiny
  5. 감사합니다 많은 도움 되었습니다!ㅎㅎ 프리시퀸스

Recent Trackbacks

  1. cabo villas for rent cabo villas for rent %M
  2. buy my house fast buy my house fast %M
  3. buy my house now buy my house now %M
  4. how to sell a house quickly how to sell a house quickly 3 04
  5. cabo san lucas packages cabo san lucas packages 3 04

Calendar

«   04 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 30    

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 2902879 HIT
TODAY 272 HIT
YESTERDAY 1312 HIT