2012-11-22 2 views
1

내 와이드 문자열의 일부 문자는 예를 들어 & # 로 이스케이프 포함 '   ' 변환 된 결과가 ' ' (3 공백)이어야합니다 넓은 문자열 소스는 것 같습니다.어떻게 델파이에서 이스케이프 된 넓은 문자열을 이스케이프 해제?

기능

function UriUnescape(const aSrc: WideString): WideString; 
begin 
    //Your code goes here 
end; 

주처럼 보일 것입니다 : 내가

2 델파이 7을 사용하고 1))이 넓은 문자열은 SOAP 응답하지 HTML의 일부입니다.

3) 일반적으로이 방법은 넓은 문자열의 한 부분으로 영숫자 문자를 허용해야한다 : 예를 입력 : = 결과 ' @ 수'= '가 될 @'

답변

9

귀하의 C# 링크는 URL의 이스케이프 취소 그러나 당신에 관한 것입니다 소스 문자열은 HTML encoded과 비슷합니다. 이 경우 HtmlDecode 기능을 HttpApp 단위로 보아라.

URL 디코딩을 원할 경우 HttpDecode 또는 Indy의 TIdURL.URLDecode을 시도 할 수 있습니다.

+0

또한 '"' –

+0

@arioch와 같은 이름의 SGML 엔티티를 디코딩 할 것입니다. 정확히 원하는 일이 무엇입니까 –

+0

@David 예, 아마도. 그것은 요점이었습니다. [숫자 SGML 엔티티] (http://en.wikipedia.org/wiki/Numeric_character_reference)에 대한 임시 파서를 단독으로 만들거나, 라이브러리를 검색하는 것보다 쉽고 (적어도 의존성은 적지 만) 어느 날 갑자기 갑자기 명명 된 것을 만날 수도 있습니다. –

관련 문제