2013-07-03 5 views
0

문자열이 있습니다 : Character\5C&\22\3C\3E' 나는 도망 가고 싶습니다.StringEscapeUtil by Unapaping by

는 대한 코드가있다 :

package escaping; 

import org.apache.commons.lang.StringEscapeUtils; 

public class UnEscapingDemo { 

    public static void main(String[] args) { 

     String str = StringEscapeUtils.unescapeHtml("Character\\5C&\\22\\3C\\3E'"); 

     System.out.println(str); 

    } 

} 

그러나 결국 나는 결과를 기대하지 않았습니다. 나는 (변환하지 않고) .. 내가 넣어 한 것 같은이 "

-

편집 :.?

가 나는 것을 believe"3E는 "여기 Character\&"<>'

+0

명확히하십시오 : 무엇을, 당신이 얻을 결과 그리고 당신이 기대하고있는 결과가 무엇 ? –

+0

당신은 HTML을 사용하지 않습니다. 이것이 이유입니다. 나는 당신이 무엇을 넣고 있는지를 모른다. –

+0

정말 여기에서 탈출 할 것으로 예상되는 HTML입니까? – fge

답변

1

무엇 Y : ">"..

그래서 예를 들어, 내 기대 문자열 인 의미 ou 언급은 HTML이 아니라 URI 인코딩입니다. HTML의 경우 <&lt;이고 >&gt;이됩니다.

thread을 살펴보고 Tim Cooper와 Draemon 게시물을 모두 읽어야합니다.

+1

이것은 URI 인코딩도 아닙니다. 백 슬래시는 URI에서 유효하지 않습니다. – fge

+0

나는이 질문의 편집 부분에 대해 ('나는 "3E"가 여기에 ">"를 의미한다고 믿는다) – ssssteffff

0

음, 탈출의 이상한 구문은 ...과 openldap에서 오는

이는 나를 위해 작동 :

public static void main(String[] args) throws UnsupportedEncodingException { 

     String input = "Character\\5C&\\22\\3C\\3E'"; 

     input = input.replace("\\", "%"); 

     String result = URLDecoder.decode(input, "UTF-8"); 

     System.out.println(result); 

    }