Base64编码(java)
文章目录
- Base64简介
- 什么时候使用Base64
- 优缺点
- 工具类
Base64简介
Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来标识二进制数据的方法。
Base64是一种可逆的编码方式,是一种用64个Ascii字符来表示任意二进制数据的方法。
主要用于将不可打印字符转换为可打印字符,或者简单的说将二进制数据编码为Ascii字符,
什么时候使用Base64
- Base64一般用于在HTTP协议下传输二进制数据,由于HTTP协议是文本协议,所以在HTTP写一下传输二进制数据需要将二进制数据转化为字符数据,网络传输只能传输可打印字符,在ASCII码中规定,0-31、128这33个字符属于控制字符,32~127这95个字符属于可打印字符。那么其它字符(如中文等其他语言)怎么传输呢,Base64就是其中一种方式,
- 将图片等资源文件以Base64编码形式直接放于代码中,使用的时候反Base64后转换成Image对象使用。
- 偶尔需要用这条纯文本通道传一张图片之类的情况发生的时候,就会用到Base64,比如多功能Internet 邮件扩充服务(MIME)就是用Base64对邮件的附件进行编码的。
优缺点
- 优点:可以将二进制数据转化为可打印字符,方便传输数据,对数据进行简单的加密,肉眼安全。
- 缺点:内容编码后体积变大,编码和解码需要额外工作量
工具类
import java.io.UnsupportedEncodingException;
import java.util.Base64;public class Base64Utils {private static final Base64.Decoder decoder = Base64.getDecoder();private static final Base64.Encoder encoder = Base64.getEncoder();public static String base64Encode(String text) {try {byte[] textByte = text.getBytes("UTF-8");String encodedText = encoder.encodeToString(textByte);//System.out.println(encodedText);return encodedText;} catch (UnsupportedEncodingException e) {System.out.println("Error :" + e.getMessage());}return "error";}public static String base64Decode(String encodedText) {try {String text = new String(decoder.decode(encodedText), "UTF-8");//System.out.println(text);return text;} catch (UnsupportedEncodingException e) {System.out.println("Error :" + e.getMessage());}return "error";}
}
Base64编码(java)相关推荐
- Base64编码 - Java加密与安全
BASE64编码什么是Base64编码?它是一种把二进制的数据用文本表示的编码算法.String base64Encoder(byte[] data)byte[]{0xe4,0xb8,0xad} -& ...
- Base64Util 用户名和密码Base64编码Java代码
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import ...
- android Java BASE64编码和解码一:基础
今天在做Android项目的时候遇到一个问题,需求是向服务器上传一张图片,要求把图片转化成图片流放在 json字符串里传输. 类似这样的: {"name":"jike&q ...
- java svgbase64转byte_java 图片进行base64 编码解码
java 图片进行base64 编码解码 刘振兴 代码分享 2017年06月07日 10555 2条评论 import sun.misc.BASE64Decoder; import sun.misc. ...
- java安全技术-Base64编码与解码
BASE64编码入门 l 概念及原理介绍 Base64采用了一种很简单的编码转换:对于待编码数据,以3个字节为单位,依次取6位数据并在前面补上两个0形成新的8位编码,由于3*8=4*6 ...
- JAVA 将图片转换为Base64编码
https://www.cnblogs.com/ywlx/p/4544179.html 这里使用的jar包是commons-codec-1.10.jar; import java.io.FileInp ...
- Java中使用Base64进行编码解码的工具类-将验证码图片使用Base64编码并返回给前端
场景 前端使用Vue,验证码图片的src属性来自于后台SpringBoot接口. 后台验证码接口生成验证码图片并将其使用Base64进行编码. 前端就可以直接使用 data:image/png;bas ...
- android Java BASE64编码和解码二:图片的编码和解码
1.准备工作 (1)在项目中集成 Base64 代码,集成方法见第一篇博文:android Java BASE64编码和解码一:基础 (2)添加 ImgHelper 工具类 package com.a ...
- java,验证码base64编码到json字符串出显数据一行一行的问题,关于base64编码函数解释
因为在写项目图片验证码时遇到: 一个json解析错误. Error: 在第1行发生解析错误 : {"code":"/9j/4AAQSkZJRgABAgA此处缺少'STRI ...
- java 图片压缩 base64_图片改变像素,宽高,Base64编码处理
1.改变图片像素 private void setAlpha(String os) { /** * 增加测试项 * 读取图片,绘制成半透明,修改像素 */ try { ImageIcon imageI ...
最新文章
- 在进行页面的DIV CSS排版时,遇到IE6(当然有时Firefox下也会偶遇)浏览器中的图片元素img下出现多余空白的问题绝对是常见的对于该问题的解决方法也是“见机行事”。...
- Glusterfs入门
- Qt基于文本协议的网络应用开发
- Day01_JAVA语言基础第一天
- JavaScript 中的对象拷贝(深拷贝、浅拷贝)
- 群体智能,多个机器人协同搬运!
- javascript 里Array的一些方法
- HTML5崛起之时,Java桌面时代就已经终结了
- 详解MySQL执行事务的语法和流程
- 要管理组策略 您必须以域用户账户登录此计算机,让AD域用户账户只能登陆管理员指定的客户端计算机...
- vmware的xp虚拟机更改虚拟硬盘序列号
- 粒子群优化算法及MATLAB实现
- 2021蓝桥杯Java复习【史上最详细攻略】【持续更新】
- Ubuntu安装百度官方网盘客户端
- 2022年小游戏----游戏背包系统之搭建背包UI
- 【转】图片热点链接使用方法
- vr全景怎么拍摄和制作,3dvr全景制作教程
- 公众号如何运营?教你几招超实用的公众号运营方法
- Ubuntu16.0.4 安装rebar3指南
- IMF国际货币基金组织