java.net.URLEncoder.encode(String)已被弃用,我应该使用什么呢?

使用java.net.URLEncoder.encode时,出现以下警告:

 警告:[deprecation] encode(java.lang.String)
         在java.net.URLEncoder已被弃用 

我应该使用什么呢?

使用URLEncoder中的其他encode方法:

 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 – 要翻译的string。

enc – 支持的字符编码的名称。

标准字符集:

US-ASCII七位ASCII,也称为ISO646-US,也就是Unicode字符集ISO-8859-1 ISO拉丁字母1,又名ISO-LATIN-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"); 

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

作为其他响应的附加参考,而不是使用“UTF-8”,您可以使用:

HTTP.UTF_8

这是自Java 4以来作为org.apache.http.protocol库的一部分包含的,也是自Android API 1以来的一部分。