java中的URL解码与URL解码php的结果不同
我已经用php制作了一个简单的加密/解密方法,我正试图将其转移到Java 在我的代码中,我从url获取值,并在将其传递给解密函数之前对其进行url解码 这在php中给出了正确的结果,但在java中没有 这是我的php测试示例java中的URL解码与URL解码php的结果不同,java,php,jakarta-ee,Java,Php,Jakarta Ee,我已经用php制作了一个简单的加密/解密方法,我正试图将其转移到Java 在我的代码中,我从url获取值,并在将其传递给解密函数之前对其进行url解码 这在php中给出了正确的结果,但在java中没有 这是我的php测试示例 urldecode("%9A%DC%CD%E1%DA%E2%D4%EA%C4%E6%9C%DA%D5%AD%CD%DF%E3%E4%C6%DB%A3%95%C4%DC%D2") 下面是我在JAVA中尝试做的事情 java.net.URLDecoder.decode("%9
urldecode("%9A%DC%CD%E1%DA%E2%D4%EA%C4%E6%9C%DA%D5%AD%CD%DF%E3%E4%C6%DB%A3%95%C4%DC%D2")
下面是我在JAVA中尝试做的事情
java.net.URLDecoder.decode("%9A%DC%CD%E1%DA%E2%D4%EA%C4%E6%9C%DA%D5%AD%CD%DF%E3%E4%C6%DB%A3%95%C4%DC%D2")
我得到的结果完全不同。谁能把我带到我搞砸的地方
谢谢
考虑尝试一下:
java.net.URLDecoder.decode("%9A%DC%CD%E1%DA%E2%D4%EA%C4%E6%9C%DA%D5%AD%CD%DF%E3%E4%C6%DB%A3%95%C4%DC%D2", "UTF-8")
在JAVA
JAVA.net.urldecker.decode(String)中,不推荐使用
。当您仅使用
解码(字符串s)
如果已弃用,则根据平台的默认编码,生成的字符串可能会有所不同。相反,使用
解码(字符串s、字符串enc)
方法来指定编码。它使用特定的编码方案对应用程序/x-www-form-urlencoded字符串进行解码
enc可以是“UTF-8”、“ISO 8859-1”等……java解码器是否可以接收指定某种格式的属性?检查该类的方法Lamis请发布您得到的两个不同结果。问题不在于php,而在于java…因为我在php中得到了我想要的结果。最好将您从每个语言中得到的结果相加;)正如我们在文档中所看到的:根据平台的默认编码,结果字符串可能会有所不同。相反,使用decode(String,String)方法指定编码。(这可能发生在你身上)@Lamis:你检查过Spaeth代码行的结尾了吗?关键部分是终端部分:
,“UTF-8”)
。这可能会给你带来不同(也可能不会,因为我对这类事情并不在行)。斯佩思的答案是1+。是的,我刚刚发现……用ISO-885901解码对我来说很有效:)