convertir una cadena con caracteres ascci(hexadecimal) en java

Hola como estan necesito que esta cadena: ACNSF%5Bcod%3A1%5D, la cual tiene caracteres ascci(hexadecimal) quede convertida en ACNSF[cod:1] que es su equivalente al decodificar los respectivos caracteres, los porcentajes son simplemente para concatenar, no se si alguien sepa como puedo hacer esto ej: 5B = [ 3A =] en esta tabla se ecuentra la tabla con los simbolos equivalentes:
http://www.seguridadwireless.net/php/conversor-universal-wireless.php

Muchas gracias de antemano

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

Y que llevas?Pues yo haría

Y que llevas?

Pues yo haría algo como lo siguiente:

iterar toda la cadena
Si empieza con % ver los siguientes dos caracteres
Obtener el número que esos dos caracteres representan
Obtener el caracter que ese número representa

Me parece que primero debes de entender bien que es lo que quieres, para empezar no es ascci sino ascii ( con dos i's al final ). Luego el que está codificado es el que está en hexadecimal.

Estoy casi seguro ( pero esto solo tu lo sabrás ) que esto pertenece a una URL, para lo cual no tienes que hacer la conversión tu mismo, debe de haber alguna biblioteca que ya lo haga por tí.

Por ejemplo este programa ya lo hace en 1 línea de código

$ javac UrlEnc.java
$ java UrlEnc "ACNSF%5Bcod%3A1%5D"
Resultado: ACNSF[cod:1]
$ java UrlEnc "ACNSF%20%5B%20cod%20%3A1%5D"
Resultado:  ACNSF [ cod :1]
$ java UrlEnc "ACNSF%20%5B%20cod%20%3A%201%20%5D"
Resultado:  ACNSF [ cod : 1 ]

Pero no sé si es lo que necesitas.

Imagen de rasilvap

Exacto es eso

"ACNSF%5Bcod%3A1%5D" me quede como ACNSF [ cod :1], esto viene de una url, de jsp cuando pagino pero el valor me llega siempre codificado, no sabes de que manera puedo obtener el valor original?

Muchas gracias

Imagen de ezamudio

URLDecode

Utiliza la clase URLDecode.

El programa que generó la

El programa que generó la salida que te puse ahí fue:

class UrlEnc {
    public static void main( String ... args )  throws Exception  {
        java.net.URLDecoder d = new java.net.URLDecoder();
        System.out.println( d.decode(  args[0] , "UTF-8" ));
    }
}
Imagen de rasilvap

Funciona pero

Sucede que cuando pagino por segunda vez o sea la primera vez que pagino el valor original es posible obtenerlo, pero cuando pagino por segunda vez se codifica nuevamente el valor y aunque aplique: URLDecoder.decode("valor") no lo puedo recuperar.

Muchas gracias por la ayuda prestada hasta el momento, agradezco cualquier ayuda que me puedan brindar

Imagen de rasilvap

La segunda vez

me codifica nuevamente a ACNSF%255Bcod%253A1%255D y si aplico URLDecoder.decode("valor") me arroja ACNSF%5Bcod%3A1%5D nuevamente entonces tendria que aplicar nuevamente la funcion en un ciclo, hasta que me elimine esos caracteres, pero no creo que sea la mejor solución.

Muchas gracias de nuevo