爪哇 - URLDecoder.decode(String s)将VS URLDecoder.decode(一个String,字符串ENC)

问题描述:

是什么我有一个cookie的值喜欢爪哇 - URLDecoder.decode(String s)将VS URLDecoder.decode(一个String,字符串ENC)

URLDecoder.decode(String s) 

URLDecoder.decode(String s, String enc) 

之间的区别

val=%22myvalue%22 

我正在休会它。

Cookie[] cookies=request.getCookies(); 

String val=cookies[0].getValue(); 

VAL的值是%22myvalue%22

所以,我想URLDecoder

String val1=URLDecoder.decode(val); 
String val2=URLDecoder.decode(val,"utf8"); 

而且两者的值都是一样的,那就是myvalue

所以WH at是两者的区别?

+0

'URLDecoder.decode(String s)'由于对不确定编码的意外行为而被弃用。 –

+0

那么其他更好? –

+2

使用不推荐的方法/类总是一个坏主意,因为它们可能会在更多版本中完全删除。这就是为什么他们已经过时了一段时间。很快:是的! –

URLDecoder.decode(字符串或多个)

解码的X WWW窗体-urlencoded字符串。该平台的默认编码用于确定哪些字符由“%xy”形式的任何连续序列表示。

注意:这是已经过时。

URLDecoder.decode(字符串s字符串ENC)

解码使用特定编码方案的应用程序/ x-WWW窗体-urlencoded字符串。提供的编码用于确定哪些字符由任何形式为“%xy”的连续序列表示。

整个信息你可以找到here

+0

这只是复制文档。它没有增加任何解释为什么解码值是相同的。 – andyb