2013-07-25 2 views
0

일부 메시지의 기본 64 인코딩을 수행 한 다음 메시지를 URL 인코딩하고 전체 인코딩 된 컨텐트를 매개 변수/값으로 쿼리 문자열에 전달하려고합니다. http://www.xxxxxx.com/xxxxx?query=base64urlencodedmessage아파치 커먼즈를 사용하여 메시지 인코딩하기

그래서 base64 인코딩과 URL 인코딩을 사용하고 싶습니다. 나는 아파치가 그것에 대한 좋은 라이브러리를 제공 볼 수 있습니다.

그래서, 이하 아파치 법 :

1) 방법은 (1) 사용하고자하는 방법을 참조하는), 2), 3)의 특정 문자 집합 수단 이하 방법 1 인코딩 2) 선택한 문자 집합 만 사용하여 인코딩 하시겠습니까? 1과 3의 차이점은 무엇입니까? 어느 것이 더 안전합니까 ??? 2) 먼저 base64를 사용하고 있습니다. 따라서 바이트 배열이 출력으로 표시되므로 메서드 2 만 사용해야합니다.

URLCodec url = 새 URLCodec();

1) url.encode (str, charset);

2) url.encode (bytes);

3) url.encode (str);

답변

0

는이 테스트

String s1 = "test"; 
    System.out.println(s1); 
    Base64 base64 = new Base64(); 
    String s2 = base64.encodeAsString(s1.getBytes()); 
    System.out.println(s2); 
    URLCodec url = new URLCodec(); 
    String s3 = url.encode(s2); 
    System.out.println(s3); 
    s2 = url.decode(s3); 
    System.out.println(s2); 
    s1 = new String(base64.decode(s2)); 
    System.out.println(s1); 

출력 명확해야

test 
dGVzdA== 
dGVzdA%3D%3D 
dGVzdA== 
test 

BTW 당신이 표준 java.net.URLEncoder/java.net.URLDecoder 및 javax.bind와 동일 할 수 있습니다. DatatypeConverted 클래스

+0

감사합니다 Evgeniy ... 도움이 ...하지만 URL 인코딩에 대한 문자 집합을 지정하는 장점/단점을 알 수 있습니까 ??? – pret

관련 문제