java中URLencode、URLdecode及Base64加解密转换

 更新时间:2024年01月19日 11:40:33   作者:沉默的旋律  
本文主要介绍了java中URLencode、URLdecode及Base64加解密转换,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

一、URLencode、URLdecode

// 将application/x-www-from-urlencoded字符串转换成普通字符串  
        String keyWord = URLDecoder.decode("%E4%BD%A0%E5%A5%BD", "utf-8");  
        System.out.println(keyWord);  //输出你好

        // 将普通字符创转换成application/x-www-from-urlencoded字符串  
        String urlString = URLEncoder.encode("你好", "utf-8");  //输出%E4%BD%A0%E5%A5%BD
        System.out.println(urlString);

二、Base64加解密

Base64 base64 = new Base64();

       String encodeText = base64.encodeToString("123456");//加密
       String decodeText = base64.decode(encodedText), "UTF-8");//解密

三、高效方法:

final Base64.Decoder decoder = Base64.getDecoder();
final Base64.Encoder encoder = Base64.getEncoder();
final String text = "字串文字";
final byte[] textByte = text.getBytes("UTF-8");
//编码
final String encodedText = encoder.encodeToString(textByte);
System.out.println(encodedText);
//解码
System.out.println(new String(decoder.decode(encodedText), "UTF-8"));

四、Java 8之后的作法

Java 8的java.util套件中,新增了Base64的类别,可以用来处理Base64的编码与解码,用法如下:

final Base64.Decoder decoder = Base64.getDecoder();
final Base64.Encoder encoder = Base64.getEncoder();
final String text = "字串文字";
final byte[] textByte = text.getBytes("UTF-8");
//编码
final String encodedText = encoder.encodeToString(textByte);
System.out.println(encodedText);
//解码
System.out.println(new String(decoder.decode(encodedText), "UTF-8"));

与sun.mis c套件和Apache Commons Codec所提供的Base64编解码器来比较的话,Java 8提供的Base64拥有更好的效能。实际测试编码与解码速度的话,Java 8提供的Base64,要比sun.mis c套件提供的还要快至少11倍,比Apache Commons Codec提供的还要快至少3倍。因此在Java上若要使用Base64,这个Java 8底下的java .util套件所提供的Base64类别绝对是首选!

到此这篇关于java中URLencode、URLdecode及Base64加解密转换的文章就介绍到这了,更多相关java中URLencode、URLdecode及Base64加解密内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 详解Java如何优雅的实现字典翻译

    详解Java如何优雅的实现字典翻译

    当我们在Java应用程序中需要对字典属性进行转换返回给前端时,如何简单、方便、并且优雅的处理是一个重要问题。在本文中,我们将介绍如何使用Java中的序列化机制来优雅地实现字典值的翻译,从而简化开发
    2023-04-04
  • 详解Spring容器的使用流程

    详解Spring容器的使用流程

    今天给大家带来的是关于Java的相关知识,文章围绕着Spring容器的使用流程展开,文中有非常详细的介绍及代码示例,需要的朋友可以参考下
    2021-06-06
  • java实现的AES加密算法完整实例

    java实现的AES加密算法完整实例

    这篇文章主要介绍了java实现的AES加密算法,结合完整实例形式分析了AES加密类的实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2016-07-07
  • java图片验证码实现示例分享

    java图片验证码实现示例分享

    这篇文章主要介绍了java实现图片验证码示例,需要的朋友可以参考下
    2014-02-02
  • Java修饰符 abstract,static,final 的区别详解

    Java修饰符 abstract,static,final 的区别详解

    以下是对Java修饰符abstract,static,final的区别进行了详细的介绍,需要的朋友可以过来参考下
    2013-09-09
  • 详解idea+maven打jar包的两种方式

    详解idea+maven打jar包的两种方式

    这篇文章主要介绍了idea+maven打jar包的两种方式,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07
  • Hadoop源码分析一架构关系简介

    Hadoop源码分析一架构关系简介

    本篇是Hadoop源码分析系列文章第一篇,主要介绍一下Hadoop的基础简介以及框架关系,后续本系列文章会持续更新,有需要的朋友可以借鉴参考下
    2021-09-09
  • java.lang.Void 与 void的比较及使用方法介绍

    java.lang.Void 与 void的比较及使用方法介绍

    这篇文章主要介绍了java.lang.Void 与 void的比较及使用方法介绍,小编觉得挺不错的,这里给大家分享一下,需要的朋友可以参考。
    2017-10-10
  • 浅谈序列化之protobuf与avro对比(Java)

    浅谈序列化之protobuf与avro对比(Java)

    下面小编就为大家带来一篇浅谈序列化之protobuf与avro对比(Java)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • JavaMailSender实现邮箱验证功能

    JavaMailSender实现邮箱验证功能

    本篇文章主要给大家介绍了JavaMailSender实现邮箱注册验证的功能实现原理以及其中遇到的问题,一起跟着学习探讨下吧。
    2017-12-12

最新评论