Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用apachecommons对消息进行编码_Java_Javascript_Apache_Encoding_Apache2 - Fatal编程技术网

Java 使用apachecommons对消息进行编码

Java 使用apachecommons对消息进行编码,java,javascript,apache,encoding,apache2,Java,Javascript,Apache,Encoding,Apache2,我正在尝试对一些消息进行Base64编码,然后对消息进行URL编码,并将整个编码内容作为参数/值传递给querystring。 所以我想使用base64编码,然后使用URL编码。我看到apache为它提供了很好的库 因此,在以下apache方法中: 1) 如何查看我要使用的方法1)、2)和3) 2) 在下面的方法1中,使用特定字符集编码意味着仅使用选定字符集编码?1和3的区别是什么?哪个更安全??? 2) 我首先使用base64,这是否意味着我将只获得字节数组作为输出,因此我应该只使用方法2

我正在尝试对一些消息进行Base64编码,然后对消息进行URL编码,并将整个编码内容作为参数/值传递给querystring。

所以我想使用base64编码,然后使用URL编码。我看到apache为它提供了很好的库

因此,在以下apache方法中:

1) 如何查看我要使用的方法1)、2)和3) 2) 在下面的方法1中,使用特定字符集编码意味着仅使用选定字符集编码?1和3的区别是什么?哪个更安全??? 2) 我首先使用base64,这是否意味着我将只获得字节数组作为输出,因此我应该只使用方法2

URLCodec url=新的URLCodec()

1) 编码(str,charset)

2) 编码(字节)


3) url.encode(str)

这个测试应该很清楚

    String s1 = "test";
    System.out.println(s1);
    Base64 base64 = new Base64();
    String s2 = base64.encodeAsString(s1.getBytes());
    System.out.println(s2);
    URLCodec url = new URLCodec();
    String s3 = url.encode(s2);
    System.out.println(s3);
    s2 = url.decode(s3);
    System.out.println(s2);
    s1 = new String(base64.decode(s2));
    System.out.println(s1);
输出

test
dGVzdA==
dGVzdA%3D%3D
dGVzdA==
test

顺便说一句,您可以使用标准的java.net.urlcoder/java.net.urldecover和javax.bind.DatatypeConverted类执行相同的操作

谢谢Evgeniy。。。帮助。。。但是我能知道为url编码指定字符集的优点/缺点吗???