使用 java.net.URLEncoder.encode 时收到以下警告:

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

我应该使用什么?

有帮助吗?

解决方案

encode 方法.lang.String-java.lang.String-“rel =”noreferrer“> 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

URLEncoder.encode(String s, String enc)

其中:

  

s - 要翻译的字符串。

     

enc - 支持的名称 字符编码

标准字符集:

  

US-ASCII 七位ASCII,a.k.a。ISO646-US,a.k.a。Unicode字符集的Basic Latin块   ISO-8859-1 ISO拉丁字母第1号,a.k.a。ISO-LATIN-1

     

UTF-8 八位UCS转换格式

     

UTF-16BE 16位UCS转换格式,大端字节顺序

     

UTF-16LE 16位UCS转换格式,小端字节顺序

     

UTF-16 16位UCS转换格式,由可选字节顺序标记标识的字节顺序

示例:

import java.net.URLEncoder;

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

第一个参数是要编码的String;第二个是要使用的字符编码的名称(例如,UTF-8)。

作为其他回复的补充参考,您可以使用" UTF-8" ,而不是

HTTP.UTF_8

自Java 4以来作为org.apache.http.protocol库的一部分包含在内,该库自Android API 1开始也包含在内。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top