`

Java Base64转换,Java Base64工具类

阅读更多

Java Base64转换, Java Base64工具类, Base64使用,base64详解

 

================================

©Copyright 蕃薯耀 2019年6月20日

http://fanshuyao.iteye.com/

 

Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法。

 

一、Base64优、缺点

优点:

1、减少了http请求;

2、数据就是图片;

3、简单的加密(一般人看不懂)

缺点:

1、图片转换成Base64字符串,字符串会很长

2、影响到数据库性能

 

二、Base64显示方式:

data:,文本数据
data:text/plain,文本数据
data:text/html,HTML代码
data:text/html;base64,base64编码的HTML代码
data:text/css,CSS代码
data:text/css;base64,base64编码的CSS代码
data:text/JavaScript,Javascript代码
data:text/javascript;base64,base64编码的Javascript代码
data:image/gif;base64,base64编码的gif图片数据
data:image/png;base64,base64编码的png图片数据
data:image/jpeg;base64,base64编码的jpeg图片数据
data:image/x-icon;base64,base64编码的icon图片数据

 

Html标签使用

<img src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAwADAAAD/2w" alt="Jpeg图片"/>

 

CSS中使用:

background-image: url("data:image/png;base64,iVBORw0KGgo=...");

 

 三、Base64转换工具类:

1、使用JDK6自带的(不建议使用)

import sun.misc.BASE64Encoder; 
import sun.misc.BASE64Decoder;
//编码
BASE64Encoder encoder = new BASE64Encoder();  
String imageString = encoder.encode(byteArray);//转换成Base64形式

//解码
BASE64Decoder decoder = new BASE64Decoder();  
byte[] imageByteArray = decoder.decodeBuffer(imageString);  

 

但这个性能一般,而且转换出来的base64字符串会有换行符,可能还需要替换换行符,避免在某些场景因为分行导致出错。

 

2、使用Jdk8的Base64工具类(优先考虑使用)

java.util.Base64

//编码
Base64.getEncoder().encodeToString("aaaaaaaa".getBytes("utf-8"));

//解码
Base64.getDecoder().decode("c29tZSBzdHJpbmc=");

//URL编码
//URL对反斜线“/”有特殊的意义,因此URL编码需要替换掉它,使用下划线替换
Base64.getUrlEncoder().encodeToString("test.do?abcd".getBytes("utf-8"));

//MIME编码
//每一行输出不超过76个字符,而且每行以“\r\n”符结束
Base64.getMimeEncoder().encodeToString("aaaaaaaa".getBytes("utf-8"));

//流文件编码、解码
Base64.getEncoder().wrap(outputStream); 
Base64.getDecoder().wrap(inputStream);

 性能超好,如果已经使用JDK8,直接使用这个。

 

基本例子:

String base64String  = Base64.getEncoder().encodeToString("我是谁呢?".getBytes("UTF-8"));
System.out.println("base64String=" +base64String);
		
byte[] stringByte  = Base64.getDecoder().decode(base64String);
System.out.println("stringByte=" + new String(stringByte));

 结果:

base64String=5oiR5piv6LCB5ZGi77yf
stringByte=我是谁呢?

 

 

3、使用Spring提供的Base64Utils类

org.springframework.util.Base64Utils;

 

4、使用apache中的Base64

org.apache.commons.codec.binary.Base64

 

 5、使用第三方工具类(附件有相应的jar包)

net.iharder.Base64;

Base64.encodeBytes(bytes);

//直接从文件路径获取base64编码
Base64.encodeFromFile("c:/938dcfd836be4e15a225110dc77769d0.jpg");

  性能非常好。

 

四、文件转成字节

File file = new File("c:/5110dc77769d0.jpg");
InputStream inputStream = new FileInputStream(file);
byte[] bytes = new byte[inputStream.available()];
inputStream.read(bytes);
inputStream.close();

 

五、base64编码后的格式

jpg图片的base64一般以/9j/开头

/9j/4AAQSkZJRgABAQEAwADAAAD/2wBDA

 

png格式图片base64一般以iVBO开头

iVBORw0KGgoAAAANSUhEUg

 

txt文本(UTF-8编码)Base64一般以77u/开头

77u/5Z2Q5qCH6K+05piOOnjlkox55LmL6Ze055So6Iux5paH6YCX5Y+36Z

 

 

 

Java 使用Base64将图片保存到数据库和显示图片:

https://fanshuyao.iteye.com/blog/2441370

 

================================

©Copyright 蕃薯耀 2019年6月20日

http://fanshuyao.iteye.com/

 

 

 

1
0
分享到:
评论
1 楼 蕃薯耀 2019-06-20  
Java Base64转换
Java Base64工具类
Base64使用
base64详解


=========
蕃薯耀

相关推荐

    java base64的mp3转base64的pcm

    java base64的MP3转base64的pcm工具类,适用于微信小程序的语音转文字,因为小程序的录音为MP3,大部分语音读写的第三方只支持wav和pcm,不用生成文件

    java 把PDF转换成BASE64

    2. **转换为BASE64**:Java 8及以上版本提供了`java.util.Base64`工具类,可以方便地进行BASE64编码。 ```java String base64String = Base64.getEncoder().encodeToString(pdfBytes); ``` 至此,PDF文件已经被转换...

    android工具类:基于javaBase64的加密解密工具类

    本文将详细介绍一个基于Java Base64的Android加密解密工具类,该工具类支持公钥加密和私钥解密,具有高度的解耦性,方便集成到项目中。 一、Base64加密解密基础 Base64是一种编码方式,它将任意二进制数据转换为可...

    javabase64-1.2.jar

    这个库可能是对Java标准库Base64工具类的增强或扩展,提供了更高效或者定制化的Base64操作。 【描述】"javabase64-1.2.jar" 指示这是一个特定版本(1.2)的Java库,可能包含了类、方法和其他资源,用于支持Base64的...

    Base64与byte[]相互转换

    在Java中,可以使用`sun.misc.BASE64Encoder`和`sun.misc.BASE64Decoder`类来进行Base64的编码和解码操作。需要注意的是,这些类自JDK 9起已被废弃,并在JDK 11中被移除。因此,在较新的Java版本中,推荐使用`java....

    java base64的jar包

    总的来说,`javabase64-1.3.1.jar`是一个实用的Java工具库,它简化了Base64编码和解码的操作,适用于在Java项目中处理需要转换为ASCII文本的二进制数据。在实际开发中,你可以通过导入这个库,轻松地将图片、音频、...

    javabase64-1.3.1.jar

    JavaBase64-1.3.1.jar 是一个专门用于Base64编码和解码的Java工具包。在计算机编程中,Base64是一种将任意二进制数据转换为可打印字符的编码方式,通常用于在网络上传输包含二进制的数据,如图片、音视频文件等。...

    java 图片base64 加密解密

    `sun.misc.BASE64Encoder`和`sun.misc.BASE64Decoder`是Java早期提供的用于Base64编码和解码的类,但请注意,这些类不在标准Java API中,而是属于Sun Microsystems的内部实现,不推荐在新的项目中使用,因为它们可能...

    java图片转换工具类图片转base64

    java图片转换工具类图片转base64

    base64互相转换工具类

    base64互相转换工具类,可以字符串进行base64编码和解码,可以把base64转图片,可以把在线或者本地图片转base64码,另外还有去除字符串中的空格、回车、换行符、制表符方法。

    Java Base64文件加密解密类.rar

    总之,`Java Base64文件加密解密类.rar`中的`Base64.java`文件是一个实用的工具,它结合了Base64编码的便利性和文件操作功能,对于需要在Java环境中处理二进制数据传输或存储的开发者来说,是一个非常有价值的资源。...

    java生成二维码,java将二维码转换成base64

    综上所述,通过Java结合ZXing库可以方便地生成二维码,并通过内置的Base64工具将其转换为字符串形式,便于在网络传输和存储。这在实际应用中非常有用,例如,将二维码作为URL的一部分,或者在服务器端生成二维码并以...

    Java 从网络中读取图片 转换成Base64字符串

    Java 8引入了`java.util.Base64`工具类,提供了方便的Base64编码和解码功能。 1. 创建字节数组:使用`IOUtils`类(来自Apache Commons IO库)将输入流转换为字节数组。 ```java byte[] imageBytes = IOUtils....

    Base64ImageUtils.java 图片编码转换工具类

    图片和base64编码互相转换的一个工具类

    base64转码解密成明文加密成Java密文

    在Java中,我们可以使用`java.util.Base64`类来实现Base64的解码,例如: ```java import java.util.Base64; public class Base64Decoder { public static void main(String[] args) { String base64String = ...

    java实现base64加密

    总之,Java中的Base64编码和解码是通过`java.util.Base64`类提供的工具方法实现的,对于理解和处理二进制数据在ASCII环境中的传输非常有用。在实际项目中,根据具体需求选择合适的编码器和解码器,并结合其他安全...

    JavaBase64Decoder

    JavaBase64Decoder是Java中处理Base64编码和解码的一个重要工具,它与BASE64Encoder一起工作,提供了一种将字节数组与Base64字符串之间的转换方式。Base64是一种用于在网络上传输二进制数据的编码方式,它将任意的...

    java生成二维码以及二维码转base64字符串给前端

    在Java开发中,生成二维码和将二维码转换为Base64字符串是常见的需求,尤其是在与前端交互时。这个项目提供了一种方便的方式,通过Maven依赖来实现这些功能,并且包括了一个工具类,使得操作更加简单易用。接下来,...

    PDF和Base64格式互相转换

    Java中,`java.util.Base64`类负责Base64编码,`com.itextpdf.text.pdf.PdfReader`和`com.itextpdf.text.pdf.PdfWriter`则处理PDF文件。对于其他语言如JavaScript,可以使用`atob()`和`btoa()`函数进行Base64的编码...

    java视频转换工具类(附带转换工具类)

    在Java编程环境中,开发一个视频转换工具类是一个高级任务,涉及到多媒体处理和文件I/O操作。这个"java视频转换工具类"显然提供了这样的功能,能够将视频文件转换为不同的格式,如mp4、ogg和flv等。这些格式在互联网...

Global site tag (gtag.js) - Google Analytics