Eliminando% 2520 y otros caracteres no estándar de URL en obj c

Obtengo una URL del server e bash cargar la URL en la vista web. El problema es que la url que obtengo contiene caracteres no estándar. La URL es:

https//p-r3.test.abc.com:443%2Ftablet%2Fjsp%2Fgift%2Fipad%2Fgifter%2FgitGiftList.jsp%3FregId%3D74500002%26filterBy%3DviewAll%26pageId%3DourGifty%26sort%3Dcategory%26groupBy%3Dcategory%26view%3Dlist%26categoryId%3D%26addCat%3Dcat100540004&title=re%20-&imgurl=https%3A%2F%2Fm-r3-testy.tr.com%3A443%2Ftablet%2Fimages%2Ft_Full.jpg%3Fwid%3D300%26hei%3D300. 

Necesito eliminar caracteres como %2520 , %2F , %3D y otros caracteres no estándar de la URL. Cualquiera tiene idea de eliminar esta encoding.
Cualquier ayuda sería apreciada

Gracias

%2520 es simplemente un espacio de doble encoding. Codifíquelo una vez y obtendrá %20 , codifíquelo dos veces y obtendrá %2520 . No es "no estándar", solo está mal codificado. En teoría, no hay razón por la que no pueda replace el %2520 por un espacio, pero, por lo que sé, el código del lado del server espera la cadena de doble encoding.

Parece que tiene un urlencode () demasiados, o un urldecode () muy pocos, en el código que procesa el lado del server URL.

Encontré la respuesta. Estoy eliminando la encoding usando la function incorporada de iOS. abc = [def stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

y estoy cargando abc en webview. Está funcionando bien. Gracias a todos por las respuestas.

Para evitar la encoding múltiple, elimine primero cualquier encoding.

  _pdfUrl = [ _pdfUrl stringByRemovingPercentEncoding]; _pdfUrl = [_pdfUrl stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];