java.net.URLEncoder.encode (String) устарел, что я должен использовать вместо этого? - PullRequest
175 голосов
/ 17 октября 2008

При использовании java.net.URLEncoder.encode я получаю следующее предупреждение:

warning: [deprecation] encode(java.lang.String)
         in java.net.URLEncoder has been deprecated

Что я должен использовать вместо этого?

Ответы [ 5 ]

261 голосов
/ 17 октября 2008

Используйте другой метод encode в URLEncoder :

URLEncoder.encode(String, String)

Первый параметр - это текст для кодирования; второе - это имя используемой кодировки символов (например, UTF-8). Например:

System.out.println(
  URLEncoder.encode(
    "urlParameterString",
    java.nio.charset.StandardCharsets.UTF_8.toString()
  )
);
26 голосов
/ 28 ноября 2013

Вы должны использовать:

URLEncoder.encode("NAME", "UTF-8");
20 голосов
/ 04 сентября 2014

Используйте класс URLEncoder :

URLEncoder.encode(String s, String enc)

Где:

s - строка для перевода.

enc - Имя поддерживаемой кодировки символов .

Стандартные кодировки:

US-ASCII Семибитовый ASCII, a.k.a. ISO646-US, a.k.a. Базовый латинский блок набора символов Unicode ISO-8859-1 ISO Латинский алфавит № 1, a.k.a. ISO-LATIN-1

UTF-8 Восьмибитовый формат преобразования UCS

UTF-16BE 16-битный формат преобразования UCS, порядок байтов с прямым порядком байтов

UTF-16LE Шестнадцатибитный формат преобразования UCS, порядок байтов с прямым порядком байтов

UTF-16 Шестнадцатибитный формат преобразования UCS, порядок байтов, определенный дополнительной меткой порядка байтов

* тысяча сорок-девять * Пример: * ** 1052 тысяча пятьдесят-один * import java.net.URLEncoder; String stringEncoded = URLEncoder.encode( "This text must be encoded! aeiou áéíóú ñ, peace!", "UTF-8");
1 голос
/ 30 мая 2014

В качестве дополнительной ссылки для других ответов вместо использования "UTF-8" вы можете использовать:

HTTP.UTF_8

, которая включена с Java 4 как часть библиотеки org.apache.http.protocol, которая также включена с Android API 1.

1 голос
/ 01 мая 2014

Первый параметр - это строка для кодирования; второе - это имя используемой кодировки символов (например, UTF-8).

...