URLEncoder
java.lang.Object
|—java.net.URLEncoder
public class URLEncoder
extends Object
HTML 表单编码的实用程序类。 此类包含用于将 String 转换为 application/x-www-form-urlencoded MIME 格式的静态方法。 有关 HTML 表单编码的更多信息,请参阅 HTML 规范。
对字符串进行编码时,适用以下规则:
- 字母数字字符“a”到“z”、“A”到“Z”和“0”到“9”保持不变。
- 特殊字符“.”、“-”、“*”和“_”保持不变。
- 空格字符“”转换为加号“+”。
- 所有其他字符都是不安全的,首先使用某种编码方案将其转换为一个或多个字节。 然后每个字节由 3 个字符的字符串“%xy”表示,其中 xy 是字节的两位十六进制表示。 推荐使用的编码方案是 UTF-8。 但是,出于兼容性原因,如果未指定编码,则使用平台的默认编码。
例如,使用 UTF-8 作为编码方案,字符串 “The string ü@foo-bar” 将被转换为 “The+string+%C3%BC%40foo-bar”,因为在 UTF-8 中,字符 ü 被编码为两个 字节 C3(十六进制)和 BC(十六进制),字符 @ 被编码为一个字节 40(十六进制)。
方法总结
修饰符和类型 | 方法 | 描述 |
---|---|---|
static String | encode(String s) | 已弃用。 结果字符串可能因平台的默认编码而异。 相反,使用 encode(String,String) 方法来指定编码。 |
static String | encode(String s, String enc) | 使用特定的编码方案将字符串转换为 application/x-www-form-urlencoded 格式。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
方法详情
encode
@Deprecated public static String encode(String s)
已弃用。 结果字符串可能因平台的默认编码而异。 相反,使用 encode(String,String) 方法来指定编码。
将字符串转换为 x-www-form-urlencoded 格式。 此方法使用平台的默认编码作为编码方案来获取不安全字符的字节。
参数:
参数名称 | 参数描述 |
---|---|
s | 要翻译的字符串。 |
返回:
翻译后的字符串。
encode
public static String encode(String s, String enc) throws UnsupportedEncodingException
使用特定的编码方案将字符串转换为 application/x-www-form-urlencoded 格式。 此方法使用提供的编码方案来获取不安全字符的字节。
注意:万维网联盟建议规定应使用 UTF-8。 不这样做可能会引入不兼容性。
参数:
参数名称 | 参数描述 |
---|---|
s | 要翻译的字符串。 |
enc | 支持的字符编码的名称。 |
返回:
翻译后的字符串。
Throws:
Throw名称 | Throw描述 |
---|---|
UnsupportedEncodingException | 如果不支持命名编码 |