1.Base64概述:

java.util.Base64 是JDK8提出的一个新特性,可以用来进行按照一定规则编码和解码

2.使用:

编码:
          1.获取编码器
          2.对数据进行编码
      解码:
          1.获取解码器
          2.对数据进行解码

3.Base64工具类提供给了一套静态方法获取三种Base64编解码器

基本:输出被映射到一组字符A-Za-z0-9+/,编码不添加任何行标,输出的解码仅支持A-Za-z0-9+/
      URL:输出被映射到一组字符A-Za-z0-9+_,输出是URL和文件
      MIME:输出映射到MIME友好格式,因为输出每行数据不超过76字符,并且使用【\r】跟随[\n]作为分隔

4,API:

public static Encoder getEncoder():基本型 base64 编码器
      public static Decoder getDecoder():基本型 base64 解码器
      public static Encoder getUrlEncoder():URL型 base64 编码器
      public static Decoder getUrlDecoder():URL型 base64 解码器
      public static Encoder getMimeEncoder():Mime型 base64 编码器
      public static Decoder getMimeDecoder():Mime型 base64 解码器

5.基本型

public class Test1_基本型 {public static void main(String[] args) {// 使用基本型的编码器和解码器 对数据进行编码和解码//1.获取编码器Base64.Encoder encoder = Base64.getEncoder();//2.对字符串进行编码String str = "张三";String s = encoder.encodeToString(str.getBytes());//3.输出编码后的字符串System.out.println("编码后的字符串:"+s);//4.获取解码器Base64.Decoder decoder = Base64.getDecoder();//5.对编码后的字符串进行解码byte[] decode = decoder.decode(s);String s1 = new String(decode);//6.打印输出解码后的字符串System.out.println("解码后的字符串:"+s1);}}

6.URL型

public class Test2_URL型 {public static void main(String[] args) {// 使用URL型的编码器和解码器 对数据进行编码和解码// 1.获取编码器Base64.Encoder encoder = Base64.getUrlEncoder();// 2.对字符串进行编码String str = "name=zhangsan&password=123456";String s = encoder.encodeToString(str.getBytes());// 3.输出编码后的字符串System.out.println("编码后的字符串:"+s);// 4.获取解码器Base64.Decoder decoder = Base64.getUrlDecoder();// 5.对编码后的字符串进行解码byte[] decode = decoder.decode(s);String s1 = new String(decode);// 6.打印输出解码后的字符串System.out.println("解码后的字符串:"+s1);}}

7.MIME型

public class Test3_MIME型 {public static void main(String[] args) {// 使用URL型的编码器和解码器 对数据进行编码和解码// 1.获取编码器Base64.Encoder encoder = Base64.getMimeEncoder();// 2.对字符串进行编码String str = "name=zhangsan&password=123456name=zhangsan&password=123456";String s = encoder.encodeToString(str.getBytes());// 3.输出编码后的字符串System.out.println("编码后的字符串:"+s);// 4.获取解码器Base64.Decoder decoder = Base64.getMimeDecoder();// 5.对编码后的字符串进行解码byte[] decode = decoder.decode(s);String s1 = new String(decode);// 6.打印输出解码后的字符串System.out.println("解码后的字符串:"+s1);}}

Java之Base64相关推荐

  1. Java实现BASE64编解码

    Java实现BASE64编解码 作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs BASE64和其它类似的编码算法通经常使用于转换二进制数据为文本数据,其目 ...

  2. java基础----Base64算法的使用

    Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,可用于在HTTP环境下传递较长的标识信息.详细的Base64信息,可以参见维基百科:https://en.wikipedia.org ...

  3. Java之Base64实现文件和字符串之间的转换

    摘要:Java通过Base64加密解密实现文件和字符串之间的转换! Base64.java package com.qdexam.util;import java.io.FileInputStream ...

  4. java.util.base64报错解决

    java.util.Base64 这个类,它是在 JDK 1.8 的时候加入的,之前版本的标准库没有这个类. eclipse更换jdk1.8就可以了了. 转载于:https://www.cnblogs ...

  5. Java实现Base64编码和解码的方式

    Base64 编码是什么? Base64 是一种编码的方式, 并不是安全领域的加密解密算法. Base64 的目的是把一些二进制符转成普通字符, 方便在网络上传输. 因为有些系统只能使用ASCII字符 ...

  6. java中base64编码加密和android中base64编码加密不一样?base64编码解析错误?

    在android的base64加密后得到: WwogIHsKICAgICJ0MSI6ICIwIiwKICAgICJ0MiI6ICIyNDM4NCIsCiAgICAidDMiOiAiIiwKICAgIC ...

  7. 数据加解密之Java实现Base64加密

    https://blog.csdn.net/slvayf/article/details/83377834 本文知识点引自上方链接 //-------------------------------- ...

  8. Java实现Base64、DES、AES、RSA加解密以及加密方式之间的区别

    Base64 加密, 这个其实不可以算作加密方法,它可以看作是一种编码方式,它的用途只是二进制数字和字符串进行相互转化. Base64是网络上最常见的用于传输 8Bit字节码的编码方式之一,是一种基于 ...

  9. Java对base64编解码总结

    概述 java对base64编解码的通用处理方法. 关于base64编码Encode和Decode编码的几种方式 Base64是一种能将任意Binary资料用64种字元组合成字串的方法,而这个Bina ...

  10. Java中将base64编码字符串转换为图片

    前一段时间,在做摄像头拍照上传,摄像头拍的照片为base64编码格式的字符串,需要上传至项目中,则需要使用到将base64编码字符串转换为图片 1.将base64编码字符串转换为图片的代码如下 Ima ...

最新文章

  1. Scala 深入浅出实战经典 第88讲:Scala中使用For表达式实现map、flatMap、filter
  2. 清华大学:2021元宇宙研究报告!(附PPT下载)
  3. Electron 实战桌面计算器应用
  4. 线上学python哪家好-0基础学python,打算找培训机构,是线上好还是线下好?
  5. sklearn.naive_bayes
  6. 中越跨国结婚需要什么条件和手续
  7. 如何判断塑料制品可不可以装热水
  8. 【转】王晟教授:给光纤3室研究生的一封公开信
  9. Python: ImportRequestsError: No module named 'requests'解决方法
  10. linux系统 mysql日志文件太大。造成数据库无法正常启动怎么解决
  11. X86汇编语言从实模式到保护模式14:用户程序编程接口及其实现
  12. 【Computer Organization笔记02】指令系统、MIPS指令系统简介、THCO MIPS指令系统、THINPAD指令模拟器
  13. 解决设置redmineblacklog的按钮无效问题
  14. Hive面试题系列-连续登录问题1
  15. 专题讲座3 数论+博弈论 学习心得
  16. Boost.Asio使用总结
  17. 武大李星星团队开源的GNSS UPD估计模块(GREAT-UPD)window 下调试
  18. Hive05:Hive的进阶操作01之数据库和表的操作、数据类型
  19. 【EXLIBRIS】墙上的坏人
  20. 制作文字水印图片、图片水印

热门文章

  1. ntag213和215有什么区别_NTAG213、NTAG215和NTAG216NFC标签
  2. 相干性(Coherence)和相关性(Correlation)的区别和联系
  3. 4. gstimxv4l2src.c源码分析
  4. Deecamp冬令营小记
  5. vscode超好玩好用的插件
  6. 一篇通俗易懂的文章初探NIO
  7. Windows下的hiberfil.sys文件及其作用
  8. python求自定义函数的导数
  9. 半导体芯片行业的运作模式是什么(IDM/Fabless/Foundry模式)
  10. html span 文字垂直居中,p标签中的span标签文字垂直居中对齐