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以来的一部分。