2011-08-02 8 views
2

문자열이 Actionscript escape() 함수에 의해 백분율로 인코딩 된 다음 Java에서 디코딩을 위해 전달되는 환경이 있습니다.Actionscript에 의해 이스케이프 처리 된 Java 디코드 문자열

예를 들어 테스트 문자열이 "m é"입니다.

URLDecoder.decode("m%20%E9", "UTF-8") 

결과는 다음과 같습니다 :
그것은 내가 자바를 디코딩 할 때 "m%20%E9"
를 출력하는 액션 스크립트 이스케이프()에 전달

"m ?" 

퍼센트 E9은 "에 대한 유니 코드 포인트를 보인다 é "문자가 있지만 Java 디코드에서는 이해할 수 없습니다.
Java에서 Actionscript escape()에 의해 인코딩 된 문자열을 디코딩 할 수있는 방법이 있습니까? 이 함수는 다른 것으로 보이기 때문에 어떤 이스케이프 형식을 사용합니까? 사전에 어떤 도움

감사합니다,
파올로

답변

10

m%20%E9하지 UTF-8입니다. ASCII 범위 (즉, 0-127) 이외의 문자는 UTF-8로 2 바이트 이상 필요하므로보기가 쉽습니다. %20은 공백이므로 é는 %E9 만 남습니다.

그리고 è는 사실 U+00E9입니다. 낮은 255 자의 유니 코드로 1 : 1 인코딩 맵은 ISO-8859-1입니다.

그래서이 될 디코딩하는 올바른 방법 :

URLDecoder.decode("m%20%E9", "ISO-8859-1") 
+0

안녕하세요 요아킴, 당신의 도움을 주셔서 감사하지만 코드가? "m"나를 위해 같은 결과를 : – Paull

+0

@ 폴 : 예상대로 "m é"를 생산합니다. –

+0

당신이 옳았어요, 새로운 응용 프로그램에서 시도해 보았는데 완벽하게 작동합니다. 설정에 문제가있을 것입니다. 다시 한번 감사드립니다! – Paull