Java:URLEncoder、URLDecoder、Base64编码与解码
生活随笔
收集整理的这篇文章主要介绍了
Java:URLEncoder、URLDecoder、Base64编码与解码
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
1. URL
主要用来http get请求url不能传输中文参数问题。http请求是不接受中文参数的
1.1 URLEncoder编码
使用指定的编码机制将字符串转换为 application/x-www-form-urlencoded 格式
对String编码时,使用以下规则:
1.2 URLDecoder解码
使用指定的编码机制对 application/x-www-form-urlencoded 字符串解码。
1.3 举例
public static void main(String[] args) throws UnsupportedEncodingException {String str = "编码测试+-./&=a=1*%123";String charset = "utf-8";System.out.println("urlEncoder编码数据: " + str);String encode = URLEncoder.encode(str, charset);System.out.println("编码结果: " + encode);String decode = URLDecoder.decode(encode, charset);System.out.println("解码结果: " + decode);}urlEncoder编码数据: 编码测试+-./&=a=1*%123 编码结果: %E7%BC%96%E7%A0%81%E6%B5%8B%E8%AF%95%2B-.%2F%26%3Da%3D1*%25123 解码结果: 编码测试+-./&=a=1*%1232. Base64
在网络中传输数据都是使用ascii方式传输。对于一些图片、视频等数据,可能就会被编码成ascii中不可见部分的编码。网络中不同的路由设备处理方式不同,有可能就会把这部分数据弄丢了。为了保证数据传输的正确性,可以使用Base64编码将这些不可见数据编码成可见数据。
由于某些系统中只能使用ASCII字符。Base64就是用来将非ASCII字符的数据转换成ASCII字符的一种方法
2.1 Base64编码
Base64.getEncoder().encode(str.getBytes())
2.2 Base64解码
Base64.getDecoder().decode
2.3 举例
public static void main(String[] args) throws UnsupportedEncodingException {String str = "编码测试+-./&=a=1*%123";String charset = "utf-8";System.out.println("base64编码数据: " + str);String encode = new String(Base64.getEncoder().encode(str.getBytes()));System.out.println("编码结果: " + encode);String decode = new String(Base64.getDecoder().decode(encode));System.out.println("解码结果: " + decode);}base64编码数据: 编码测试+-./&=a=1*%123 编码结果: 57yW56CB5rWL6K+VKy0uLyY9YT0xKiUxMjM= 解码结果: 编码测试+-./&=a=1*%123总结
以上是生活随笔为你收集整理的Java:URLEncoder、URLDecoder、Base64编码与解码的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 数据竞赛:如何小号作弊
- 下一篇: 详解 Java NIO