2017-10-16 1 views
-2

사용하여 문자열을 인코딩하는 방법 : 예상대로 "%7bsome%2dstring%2efor%23encode%7d".NET libs와 나는이 사용하는 표준 libs와 같은 문자열을 인코딩해야

HttpUtility.UrlDecode("{some-string.for#encode}") 

가 작동하지 않는 "{some-string.for#encode} "를 반환 :

"% 7bsome-string.for % 23encode % 7d"

+3

음 : * 왜 * 다른 캐릭터는 인코딩해야합니까? '-'와'.' 같은 것들은 예약되어 있지 않으므로 % - 인코딩 할 필요가 없습니다. 이미 사양에 맞지 않는다면 * 문자를 모두 인코딩하지 않으시겠습니까? –

답변

3

-.section 2.3 of rfc3986은 "예약되지 않은"문자로을 명시 적으로 허용합니다. 따라서, 더 표준을 준수% 인코더는 가 인코딩하지 않는 것이 정확히 같은 이유로,이 작업을 수행 할 것 "일부는"(즉, 라벨 ALPHA를 통해 2.3의 부분이다).

그래서 사양을 따르지 않으려면 직접 인코더를 작성해야합니다.

관련 문제