java.net .URLEncoder.encode(строка) устарел, что я должен использовать вместо этого?

StackOverflow https://stackoverflow.com/questions/213506

Вопрос

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

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

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

Это было полезно?

Решение

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

URLEncoder.encode(String, String)

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

System.out.println(
  URLEncoder.encode(
    "urlParameterString",
    java.nio.charset.StandardCharsets.UTF_8.toString()
  )
);

Другие советы

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

URLEncoder.encode("NAME", "UTF-8");

Используйте класс URLEncoder ( кодер URL ):

URLEncoder.encode(String s, String enc)

Где :

s - Строка, подлежащая переводу.

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

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

US-ASCII Семибитный ASCII, он же.ISO646-US, он же.базовый латинский блок набора символов Unicode ISO-8859-1 Номер латинского алфавита ISO.1, он же.ISO-ЛАТИНИЦА-1

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

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

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

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

Пример:

import java.net.URLEncoder;

String stringEncoded = URLEncoder.encode(
    "This text must be encoded! aeiou áéíóú ñ, peace!", "UTF-8");

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

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

HTTP.UTF_8

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top