图片数据Base64编解码(java实现)
package com.vista.test;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;
public class MyTest
{
public static void main(String[] args)
{
String strImg = GetImageStr();
GenerateImage(strImg);
}
public static String GetImageStr()
{//将图片文件转化为字节数组字符串,并对其进行Base64编码处理
String imgFile = "d:\\111.jpg";//待处理的图片
InputStream in = null;
byte[] data = null;
//读取图片字节数组
try
{
in = new FileInputStream(imgFile);
data = new byte[in.available()];
in.read(data);
in.close();
}
catch (IOException e)
{
e.printStackTrace();
}
//对字节数组Base64编码
BASE64Encoder encoder = new BASE64Encoder();
return encoder.encode(data);//返回Base64编码过的字节数组字符串
}
public static boolean GenerateImage(String imgStr)
{//对字节数组字符串进行Base64解码并生成图片
if (imgStr == null) //图像数据为空
return false;
BASE64Decoder decoder = new BASE64Decoder();
try
{
//Base64解码
byte[] b = decoder.decodeBuffer(imgStr);
for(int i=0;i<b.length;++i)
{
if(b[i]<0)
{//调整异常数据
b[i]+=256;
}
}
//生成jpeg图片
String imgFilePath = "d:\\222.jpg";//新生成的图片
OutputStream out = new FileOutputStream(imgFilePath);
out.write(b);
out.flush();
out.close();
return true;
}
catch (Exception e)
{
return false;
}
}
}
分享到:
相关推荐
本文将深入探讨如何将图片转换为二进制格式,然后生成Base64编码字符串,以及如何将这些字符串重新转换回图片。这个过程在很多场景下都有应用,比如在网络上传输图片数据,或者在数据库中存储图片。 首先,我们需要...
Base64是一种常见的数据编码方式,它将任意的二进制数据转化为可打印的ASCII字符序列,常用于在电子邮件、HTML或JSON等不支持二进制传输的环境中传递数据。在LabVIEW中,通常我们可以通过编写自定义VI来实现Base64的...
- 这通常涉及读取二进制文件,将其内容分割成字节,然后根据Base64编码规则将这些字节转换为字符序列。 - 最后,可能会在编码后的字符串末尾加上"\n",这是某些Base64规范的要求,但不是所有情况都需要。 2. **...
在IT领域,尤其是在Web开发和数据传输中,Base64编码是一种常见的数据转换方式,它将二进制数据转换为可打印的ASCII字符序列。在本案例中,我们关注的是如何在C++环境下使用OpenCV库进行图片与Base64字符串之间的...
在Java编程中,图片Base64加密解密是一种常见的数据处理技术,特别是在网络传输和存储时,由于Base64编码可以将二进制数据转换为可打印的ASCII字符,因此非常适用。`sun.misc.BASE64Encoder`和`sun.misc.BASE64...
在IT行业中,Base64是一种用于编码二进制数据的方法,它将任意的二进制数据转换成可打印的ASCII字符序列。这个过程通常用于在网络上传输非文本数据,如图片,因为HTTP协议和电子邮件系统通常只能处理ASCII字符。在这...
Base64是一种编码方式,它将二进制数据转换为可打印的ASCII字符串,便于在网络上传输,因为HTTP协议和大多数电子邮件系统都只支持ASCII字符。 在Spring框架下,我们可以利用MultipartFile或者InputStream来处理图片...
本主题将详细探讨C#中的三种序列化方式:二进制序列化、SOAP序列化和XML序列化,以及如何在包含图片的数据对象中应用这些技术。 1. **二进制序列化(Binary Serialization)** 二进制序列化是最有效率的方式,因为...
Base64是一种编码机制,常用于在网络上传输二进制数据,例如图片。它将任意的二进制数据转换为可打印的ASCII字符序列,这样数据可以在不支持二进制传输的环境中,如电子邮件,或者在HTML中显示。在Java中,我们可以...
总结一下,Delphi中处理图片与Base64之间的转换主要依赖于Indy库,通过TIdEncoderMIME类和相关的解码方法,可以方便地进行二进制数据与Base64字符串的相互转换。这个过程对于在网络上传输图片或存储在文本格式的数据...
Base64是一种编码方式,常用于在不能直接传输二进制数据的环境下,将图片、文档等二进制文件转化为可打印的ASCII字符序列。在Web开发中,Base64编码常常被用来嵌入小尺寸图片到HTML或CSS中,减少HTTP请求,提升页面...
图片本质上是像素阵列,每个像素都有其特定的色彩值,这些值转化为二进制序列后构成了图片的二进制表示。在C#中,我们可以使用System.IO命名空间下的类来处理这种数据。 对于二进制图片的读取,C#提供了FileStream...
事出有因 ...将图片转化为Base64字符串的流程是:首先使用BinaryFormatter将图片文件序列化为二进制数据,然后使用Convert类的ToBase64String方法。将Base64字符串转换为图片的流程正好相反:使用Convert
Base64是一种在互联网上广泛使用的编码方式,用于将二进制数据转化为可打印的ASCII字符,以便在不支持二进制传输的环境下(如邮件系统)传递。在这个"Base64加密图片.rar"的压缩包中,我们关注的是如何在C#编程环境...
在IT行业中,Base64编码是一种广泛用于在网络上传输二进制数据的编码方式,它将二进制数据转换为可打印的ASCII字符序列。在Java编程语言中,实现图片到Base64编码的转换是常见的需求,比如在HTML中嵌入图片、传输...
Base64编解码是一种广泛应用于网络通信和数据存储中的编码技术,它的主要作用是将二进制数据转换为可打印的ASCII字符序列,以便在不支持二进制传输的环境中进行安全传输。Base64编码是基于64个字符的字母数字表,...
Base64是一种在不支持二进制数据的环境中传输和存储二进制数据的方法。它通过将二进制数据转化为可打印的ASCII字符序列,确保数据可以在电子邮件、HTML或XML等文本格式中安全地传递。Base64编码的原理是将每3个8位...
要对二进制数据进行Base64编码,你可以使用`Base64.getEncoder()`静态方法获取一个`Encoder`实例。然后调用`encodeToString(byte[])`方法,将字节数组转换为Base64编码的字符串。例如: ```java import java....
Base64是一种在互联网上常见的数据编码方法,用于将不可打印的字符,如二进制数据,转换为可打印的ASCII字符序列。这种编码方式在处理图像、文本、电子邮件附件等场景时尤其有用,因为很多传输协议只允许ASCII字符。...
Base64编码是一种常见的数据表示方法,它可以将任意二进制数据转化为ASCII字符序列,使得数据能在文本格式下传输而无需担心字符集问题。 【描述】"基于PHP的图片在线转Base64编码 v1.0.zip" 提供了一个完整的解决...