Java Java类
这是一个用于 HTML 表单解码的实用程序类。它只是执行 URLEncoder 类的相反操作,即给定一个编码字符串,它使用指定的方案对其进行解码。一般在servlet编程中使用getParameter()方法访问request的内容时,值在返回前会被自动解码。但有时可能需要显式解码 URL 编码的字符串。
解码字符串时遵循以下步骤:
- 字母数字字符和某些特殊字符,例如' * '、' _ '、' - '和' 。 ' 保持不变。
- ' + ' 符号被转换为空格。
- 所有其他字符都使用指定的编码方案进行解码。 %xy形式的字符串被转换为其编码将导致这三个字符表示的字符。 W3C 建议使用“UTF-8”进行编码。
例如,编码的字符串
u%40geeks+for+geeks
将转换为字符串表示形式,其中 %40 将替换为 @ 符号,+ 符号将转换为空格字符。
u@geeks for geeks
方法 :
- decode() :这是该类提供的一个也是唯一的方法。顾名思义,它返回指定字符串。现在不推荐使用的一种方法只有一个参数,即要解码的字符串。它不允许您指定使用的编码方案并使用平台默认编码方案。另一个版本允许使用编码规范,因此被广泛使用。
Syntax :public static String decode(String s)- @Deprecated
Parameters :
s : encoded string to be decoded
Syntax :public static String decode(String s,
String enc)
throws UnsupportedEncodingException
Parameters :
s : string to be decoded
enc : encoding to be used
Throws :
UnsupportedEncodingException : If the specified encoding is not used
Java实现:
// Java program to show decode() method of
// URLDecoder class
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
public class urlDecoder
{
public static void main(String[] args)
throws UnsupportedEncodingException
{
// encoded string
String encodedString = "u%40geeks+for+geeks";
System.out.println("Encoded String :");
System.out.println(encodedString);
// decode() method
System.out.println("Decoded String :");
System.out.println(URLDecoder.decode(encodedString, "UTF-8"));
}
}
输出 :
Encoded String :
u%40geeks+for+geeks
Decoded String :
u@geeks for geeks