web-dev-qa-db-ja.com

java.net.URLEncoder.encode(String)は非推奨です。代わりに何を使用すればよいですか?

Java.net.URLEncoder.encodeを使用すると、次の警告が表示されます。

警告:Java.net.URLEncoderの[廃止予定] encode(Java.lang.String)
は廃止されました

代わりに何を使うべきですか?

180
Frank Krueger

RLEncoder で他のencodeメソッドを使用します。

URLEncoder.encode(String, String)

最初のパラメーターはエンコードするテキストです。 2番目は、使用する文字エンコードの名前です(例:UTF-8)。例えば:

System.out.println(
  URLEncoder.encode(
    "urlParameterString",
    Java.nio.charset.StandardCharsets.UTF_8.toString()
  )
);
268
Will Wagner

以下を使用する必要があります。

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

クラスを使用します URLEncoder

URLEncoder.encode(String s, String enc)

どこ :

s-翻訳される文字列。

enc-サポートされる名前 文字エンコーディング

標準文字セット:

US-ASCII7ビットASCII、別名ISO646-US、別名Unicode文字セットの基本ラテンブロックISO-8859-1 ISOラテンアルファベットいいえ。1、別名ISO-LATIN-1

UTF-88ビットUCS変換フォーマット

UTF-16BE16ビットUCS変換フォーマット、ビッグエンディアンのバイト順

UTF-16LE16ビットUCS変換フォーマット、リトルエンディアンのバイト順

UTF-1616ビットUCS変換フォーマット、オプションのバイト順マークで識別されるバイト順

例:

import Java.net.URLEncoder;

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

最初のパラメーターは、エンコードするストリングです。 2番目は、使用する文字エンコードの名前です(UTF-8など)。

1
user3591718

"UTF-8"を使用する代わりに、他の応答の追加リファレンスとして、次を使用できます。

HTTP.UTF_8

Java 4以降はorg.Apache.http.protocolライブラリの一部として含まれており、Android AP​​I 1以降も含まれています。

1
htafoya