Java:如何将这个奇怪的url转换为普通url?

Java:如何将这个奇怪的url转换为普通url?,java,url,Java,Url,我从facebook上得到一个url,如下所示: http:\/\/a6.sphotos.ak.fbcdn.net\/hphotos-ak-snc7\/s2048x2048\/582167_359167994154900_1489271360_n.jpg 它看起来很奇怪,我想这是著名的标准之一,但我不知道;在谷歌上找不到答案 你能告诉我怎样才能从中得到正常的url吗 那是因为它逃逸了,你必须逃逸它 String url="http:\/\/a6.sphotos.ak.fbcdn.net\/hp

我从facebook上得到一个url,如下所示:

http:\/\/a6.sphotos.ak.fbcdn.net\/hphotos-ak-snc7\/s2048x2048\/582167_359167994154900_1489271360_n.jpg
它看起来很奇怪,我想这是著名的标准之一,但我不知道;在谷歌上找不到答案


你能告诉我怎样才能从中得到正常的url吗

那是因为它逃逸了,你必须逃逸它

String url="http:\/\/a6.sphotos.ak.fbcdn.net\/hphotos-ak-snc7\/s2048x2048\/582167_359167994154900_1489271360_n.jpg";
url=URLDecoder.decode(url);

这是因为字符串是转义的

,您可以做的只是:

replaceSample.replace("\", "" );

尝试此操作

如果在*.html文件中找到此字符串,则这是手动使URL无法被任何标准URL处理使用的结果。这不是一个正确的URL。这不是任何标准转义的结果

另一方面:如果您在一些源代码(而不是Java)中发现了这个字符串,那么\/可能会在编译时被替换为plain/,如C中的以下示例所示:

#include <stdlib.h>
#include <stdio.h>

void main(){
    char *cp = "http:\/\/a6.sphotos.ak.fbcdn.net\/hphotos-ak-snc7\/s2048x2048\/582167_359167994154900_1489271360_n.jpg";

    printf("%s\n", cp);
}

在Java中,编译器会抱怨转义序列无效,甚至不会编译

您的第一个参数应该是\\/,这不可编译。确定。抱歉拼错了。但是,由于它们是其他答案,我的答案可能会被删除。这甚至没有编译。2.如果正确地转义了\s,则解码不会对url执行任何操作。3.decode已弃用。对不起,URLDEXCODE.decodeurl工作正常。如果您正确地转义了,那么“解码”对url没有任何作用,这是什么意思?你能延长你的回答吗?
#include <stdlib.h>
#include <stdio.h>

void main(){
    char *cp = "http:\/\/a6.sphotos.ak.fbcdn.net\/hphotos-ak-snc7\/s2048x2048\/582167_359167994154900_1489271360_n.jpg";

    printf("%s\n", cp);
}
http://a6.sphotos.ak.fbcdn.net/hphotos-ak-snc7/s2048x2048/582167_359167994154900_1489271360_n.jpg