Frage

Ich erhalte die folgende Warnung, wenn java.net.URLEncoder.encode mit:

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

Was soll ich stattdessen verwenden?

War es hilfreich?

Lösung

Mit der anderen encode Methode in URLEncoder :

URLEncoder.encode(String, String)

Der erste Parameter ist der Text zu codieren; der zweite ist der Name der Zeichencodierung zu verwenden (z.B. UTF-8). Zum Beispiel:

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

Andere Tipps

Sie sollten verwenden:

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

Mit der Klasse URLEncoder :

URLEncoder.encode(String s, String enc)

Dabei gilt:

  

s -. String übersetzt werden

     

enc - Der Name eines unterstützten Zeichencodierung .

Standard charsets:

  

US-ASCII Sieben-Bit-ASCII, auch bekannt als ISO646-US, auch bekannt als der Basic-Latin-Block des Unicode-Zeichensatzes   ISO-8859-1 ISO Latin Alphabet No. 1, auch bekannt als ISO-LATIN-1

     

UTF-8 Acht-Bit-UCS Transformation Format

     

UTF-16 BE Sechzehn-Bit-UCS Transformation Format, Big-Endian-Byte-Reihenfolge

     

UTF-16LE Sechzehn-Bit-UCS Transformation Format, Little-Endian Byte-Reihenfolge

     

UTF-16 Sechzehn-Bit-UCS Transformation Format, Byte-Reihenfolge durch eine optionalen Byte-Reihenfolge-Marke identifiziert

Beispiel:

import java.net.URLEncoder;

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

Der erste Parameter ist der String zu kodieren; der zweite ist der Name der Zeichencodierung zu verwenden (beispielsweise UTF-8).

Als weitere Referenz für die anderen Antworten, anstelle der Verwendung von "UTF-8" können Sie:

HTTP.UTF_8

, das ist da Java enthält 4 als Teil der org.apache.http.protocol Bibliothek, die auch seit Android enthält API 1.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top