文章目录

  • Base64简介
  • 什么时候使用Base64
  • 优缺点
  • 工具类

Base64简介

Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来标识二进制数据的方法。
Base64是一种可逆的编码方式,是一种用64个Ascii字符来表示任意二进制数据的方法。
主要用于将不可打印字符转换为可打印字符,或者简单的说将二进制数据编码为Ascii字符,

什么时候使用Base64

  1. Base64一般用于在HTTP协议下传输二进制数据,由于HTTP协议是文本协议,所以在HTTP写一下传输二进制数据需要将二进制数据转化为字符数据,网络传输只能传输可打印字符,在ASCII码中规定,0-31、128这33个字符属于控制字符,32~127这95个字符属于可打印字符。那么其它字符(如中文等其他语言)怎么传输呢,Base64就是其中一种方式,
  2. 将图片等资源文件以Base64编码形式直接放于代码中,使用的时候反Base64后转换成Image对象使用。
  3. 偶尔需要用这条纯文本通道传一张图片之类的情况发生的时候,就会用到Base64,比如多功能Internet 邮件扩充服务(MIME)就是用Base64对邮件的附件进行编码的。

优缺点

  1. 优点:可以将二进制数据转化为可打印字符,方便传输数据,对数据进行简单的加密,肉眼安全。
  2. 缺点:内容编码后体积变大,编码和解码需要额外工作量

工具类

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)相关推荐

  1. Base64编码 - Java加密与安全

    BASE64编码什么是Base64编码?它是一种把二进制的数据用文本表示的编码算法.String base64Encoder(byte[] data)byte[]{0xe4,0xb8,0xad} -& ...

  2. Base64Util 用户名和密码Base64编码Java代码

    import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import ...

  3. android Java BASE64编码和解码一:基础

    今天在做Android项目的时候遇到一个问题,需求是向服务器上传一张图片,要求把图片转化成图片流放在 json字符串里传输. 类似这样的: {"name":"jike&q ...

  4. java svgbase64转byte_java 图片进行base64 编码解码

    java 图片进行base64 编码解码 刘振兴 代码分享 2017年06月07日 10555 2条评论 import sun.misc.BASE64Decoder; import sun.misc. ...

  5. java安全技术-Base64编码与解码

    BASE64编码入门 l         概念及原理介绍 Base64采用了一种很简单的编码转换:对于待编码数据,以3个字节为单位,依次取6位数据并在前面补上两个0形成新的8位编码,由于3*8=4*6 ...

  6. JAVA 将图片转换为Base64编码

    https://www.cnblogs.com/ywlx/p/4544179.html 这里使用的jar包是commons-codec-1.10.jar; import java.io.FileInp ...

  7. Java中使用Base64进行编码解码的工具类-将验证码图片使用Base64编码并返回给前端

    场景 前端使用Vue,验证码图片的src属性来自于后台SpringBoot接口. 后台验证码接口生成验证码图片并将其使用Base64进行编码. 前端就可以直接使用 data:image/png;bas ...

  8. android Java BASE64编码和解码二:图片的编码和解码

    1.准备工作 (1)在项目中集成 Base64 代码,集成方法见第一篇博文:android Java BASE64编码和解码一:基础 (2)添加 ImgHelper 工具类 package com.a ...

  9. java,验证码base64编码到json字符串出显数据一行一行的问题,关于base64编码函数解释

    因为在写项目图片验证码时遇到: 一个json解析错误. Error: 在第1行发生解析错误 : {"code":"/9j/4AAQSkZJRgABAgA此处缺少'STRI ...

  10. java 图片压缩 base64_图片改变像素,宽高,Base64编码处理

    1.改变图片像素 private void setAlpha(String os) { /** * 增加测试项 * 读取图片,绘制成半透明,修改像素 */ try { ImageIcon imageI ...

最新文章

  1. 在进行页面的DIV CSS排版时,遇到IE6(当然有时Firefox下也会偶遇)浏览器中的图片元素img下出现多余空白的问题绝对是常见的对于该问题的解决方法也是“见机行事”。...
  2. Glusterfs入门
  3. Qt基于文本协议的网络应用开发
  4. Day01_JAVA语言基础第一天
  5. JavaScript 中的对象拷贝(深拷贝、浅拷贝)
  6. 群体智能,多个机器人协同搬运!
  7. javascript 里Array的一些方法
  8. HTML5崛起之时,Java桌面时代就已经终结了
  9. 详解MySQL执行事务的语法和流程
  10. 要管理组策略 您必须以域用户账户登录此计算机,让AD域用户账户只能登陆管理员指定的客户端计算机...
  11. vmware的xp虚拟机更改虚拟硬盘序列号
  12. 粒子群优化算法及MATLAB实现
  13. 2021蓝桥杯Java复习【史上最详细攻略】【持续更新】
  14. Ubuntu安装百度官方网盘客户端
  15. 2022年小游戏----游戏背包系统之搭建背包UI
  16. 【转】图片热点链接使用方法
  17. vr全景怎么拍摄和制作,3dvr全景制作教程
  18. 公众号如何运营?教你几招超实用的公众号运营方法
  19. Ubuntu16.0.4 安装rebar3指南
  20. IMF国际货币基金组织

热门文章

  1. app测试环境搭建(适用monkey测试及日志分析)
  2. 如何区分P2P是互联网创新还是非法集资?最高检回应
  3. 华为手机下拉菜单变大_华为手机如何设置下拉菜单顺序 原来是这样的
  4. uni-app实现微信小程序一键登录
  5. 【Atomikos】分布式事务简单示例
  6. ZigBee串口发送字符串函数
  7. 解决win10 1903 系统盘占用100%造成系统假死
  8. tp6 使用workerman
  9. Mac连接Windows共享的老式打印机
  10. python读取excel画折线图_python读取excel数据绘制简单曲线图的完整步骤记录