Java tutorial
//package com.java2s; /******************************************************************************* * Copyright 2011, 2012, 2013 fanfou.com, Xiaoke, Zhang * * 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.URLEncoder; import android.text.TextUtils; public class Main { static String encode(final String value) { String encoded = null; try { encoded = URLEncoder.encode(value, "UTF-8"); } catch (final UnsupportedEncodingException ignore) { } if (!TextUtils.isEmpty(encoded)) { final StringBuilder buf = new StringBuilder(encoded.length()); char focus; for (int i = 0; i < encoded.length(); i++) { focus = encoded.charAt(i); if (focus == '*') { buf.append("%2A"); } else if (focus == '+') { buf.append("%20"); } else if ((focus == '%') && ((i + 1) < encoded.length()) && (encoded.charAt(i + 1) == '7') && (encoded.charAt(i + 2) == 'E')) { buf.append('~'); i += 2; } else { buf.append(focus); } } return buf.toString(); } return value; } }