Java之Base64
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相关推荐
- Java实现BASE64编解码
Java实现BASE64编解码 作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs BASE64和其它类似的编码算法通经常使用于转换二进制数据为文本数据,其目 ...
- java基础----Base64算法的使用
Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,可用于在HTTP环境下传递较长的标识信息.详细的Base64信息,可以参见维基百科:https://en.wikipedia.org ...
- Java之Base64实现文件和字符串之间的转换
摘要:Java通过Base64加密解密实现文件和字符串之间的转换! Base64.java package com.qdexam.util;import java.io.FileInputStream ...
- java.util.base64报错解决
java.util.Base64 这个类,它是在 JDK 1.8 的时候加入的,之前版本的标准库没有这个类. eclipse更换jdk1.8就可以了了. 转载于:https://www.cnblogs ...
- Java实现Base64编码和解码的方式
Base64 编码是什么? Base64 是一种编码的方式, 并不是安全领域的加密解密算法. Base64 的目的是把一些二进制符转成普通字符, 方便在网络上传输. 因为有些系统只能使用ASCII字符 ...
- java中base64编码加密和android中base64编码加密不一样?base64编码解析错误?
在android的base64加密后得到: WwogIHsKICAgICJ0MSI6ICIwIiwKICAgICJ0MiI6ICIyNDM4NCIsCiAgICAidDMiOiAiIiwKICAgIC ...
- 数据加解密之Java实现Base64加密
https://blog.csdn.net/slvayf/article/details/83377834 本文知识点引自上方链接 //-------------------------------- ...
- Java实现Base64、DES、AES、RSA加解密以及加密方式之间的区别
Base64 加密, 这个其实不可以算作加密方法,它可以看作是一种编码方式,它的用途只是二进制数字和字符串进行相互转化. Base64是网络上最常见的用于传输 8Bit字节码的编码方式之一,是一种基于 ...
- Java对base64编解码总结
概述 java对base64编解码的通用处理方法. 关于base64编码Encode和Decode编码的几种方式 Base64是一种能将任意Binary资料用64种字元组合成字串的方法,而这个Bina ...
- Java中将base64编码字符串转换为图片
前一段时间,在做摄像头拍照上传,摄像头拍的照片为base64编码格式的字符串,需要上传至项目中,则需要使用到将base64编码字符串转换为图片 1.将base64编码字符串转换为图片的代码如下 Ima ...
最新文章
- Scala 深入浅出实战经典 第88讲:Scala中使用For表达式实现map、flatMap、filter
- 清华大学:2021元宇宙研究报告!(附PPT下载)
- Electron 实战桌面计算器应用
- 线上学python哪家好-0基础学python,打算找培训机构,是线上好还是线下好?
- sklearn.naive_bayes
- 中越跨国结婚需要什么条件和手续
- 如何判断塑料制品可不可以装热水
- 【转】王晟教授:给光纤3室研究生的一封公开信
- Python: ImportRequestsError: No module named 'requests'解决方法
- linux系统 mysql日志文件太大。造成数据库无法正常启动怎么解决
- X86汇编语言从实模式到保护模式14:用户程序编程接口及其实现
- 【Computer Organization笔记02】指令系统、MIPS指令系统简介、THCO MIPS指令系统、THINPAD指令模拟器
- 解决设置redmineblacklog的按钮无效问题
- Hive面试题系列-连续登录问题1
- 专题讲座3 数论+博弈论 学习心得
- Boost.Asio使用总结
- 武大李星星团队开源的GNSS UPD估计模块(GREAT-UPD)window 下调试
- Hive05:Hive的进阶操作01之数据库和表的操作、数据类型
- 【EXLIBRIS】墙上的坏人
- 制作文字水印图片、图片水印
热门文章
- ntag213和215有什么区别_NTAG213、NTAG215和NTAG216NFC标签
- 相干性(Coherence)和相关性(Correlation)的区别和联系
- 4. gstimxv4l2src.c源码分析
- Deecamp冬令营小记
- vscode超好玩好用的插件
- 一篇通俗易懂的文章初探NIO
- Windows下的hiberfil.sys文件及其作用
- python求自定义函数的导数
- 半导体芯片行业的运作模式是什么(IDM/Fabless/Foundry模式)
- html span 文字垂直居中,p标签中的span标签文字垂直居中对齐