Quiero decodificar este uri en java:
URLDecoder.decode("/demo/%E4%B8%AD%E6%96%87/test%3Fa%3Da", UtilConst.UTF8); // return "/demo/中文/test?a=a" Este no es mi resultado esperado, ya que cambia la estructura uri. Quiero obtener el mismo resultado que el método JavaScript encodeURI :
decodeURI('/demo/%E4%B8%AD%E6%96%87/test%3Fa%3Da'); // return "/demo/中文/test%3Fa%3Da"¿Cómo puedo hacer esto?
String url = "/demo/%E4%B8%AD%E6%96%87/test%3Fa%3Da"; StringJoiner decoded = new StringJoiner("/"); String[] splittedUrl = url.split("/"); for (String item : splittedUrl) { if (!item.startsWith("%")) { decoded.add(item); } else { decoded.add(URLDecoder.decode(item, StandardCharsets.UTF_8)); } } System.out.println(decoded); // /demo/中文/test%3Fa%3Da