Here you can find the source of getURIFromEncodedString(String unencoded)
public static URI getURIFromEncodedString(String unencoded) throws URISyntaxException, UnsupportedEncodingException
//package com.java2s; /*/*from ww w .j a v a 2 s .c o m*/ * Copyright 2016 Hurence * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ import java.io.UnsupportedEncodingException; import java.net.URI; import java.net.URISyntaxException; import java.net.URLEncoder; public class Main { public static URI getURIFromEncodedString(String unencoded) throws URISyntaxException, UnsupportedEncodingException { URI uri; String[] split = unencoded.split("\\?"); String part1 = split[0].replaceAll("\\[", URLEncoder.encode("[", "UTF8")) .replaceAll("\\]", URLEncoder.encode("]", "UTF8")) .replaceAll("\\|", URLEncoder.encode("|", "UTF8")); if (split.length < 2) { uri = new URI(part1); } else { uri = new URI(part1 + "?" + URLEncoder.encode(split[1], "UTF8")); } return uri; } }