不推荐使用java.net.URLEncoder.encode(String),我应该使用什么呢?
-
03-07-2019 - |
题
使用 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开始也包含在内。
不隶属于 StackOverflow