例子如下:
package com.ysj;
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;
/**
* 适用大部分格式的文件
* @author Administrator
*
*/
public class Test {
public static void main(String[] args) {
Test t = new Test();
//String str = t.GetImageStr("D:/My Documents/scriptxReg.zip");
//String str = t.GetImageStr("D:/My Documents/ip.jpg");
String str = t.GetImageStr("D:/My Documents/哎呀妈呀哎呀妈呀真漂亮.mp3");
System.out.println(str);
//boolean flag = t.GenerateImage(str, "D:/My Documents/scriptxReg.zip");
//boolean flag = t.GenerateImage(str, "D:/My Documents/ip.jpg");
boolean flag = t.GenerateImage(str, "D:/My Documents/哎呀妈呀哎呀妈呀真漂亮B.mp3");
System.out.println(flag);
}
/**
* 将文件转化为字节数组字符串,并对其进行Base64编码处理
* @param imgFile
* @return
*/
public static String GetImageStr(String imgFile) {
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();
// 返回Base64编码过的字节数组字符串
return encoder.encode(data);
}
/**
* 根据字节数组字符串进行Base64解码并生成文件
* @param imgStr
* @param savedImagePath
* @return
*/
public static boolean GenerateImage(String imgStr, String savedImagePath) {
// 文件字节数组字符串数据为空
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;
}
}
// 生成文件
// String sangImageStr = "D:/My Documents/ip.jpg" ; // 要生成文件的路径.
OutputStream out = new FileOutputStream(savedImagePath);
out.write(b);
out.flush();
out.close();
return true;
} catch (Exception e) {
return false;
}
}
}
分享到:
相关推荐
1. 将普通字符串转换为Base64字符串 在C#中,我们可以使用`System.Convert`类的`ToBase64String`方法将普通字符串(UTF-8编码的字节数组)转换为Base64字符串。首先,我们需要将字符串转换为字节数组,然后进行编码...
如果是源代码文件,那么它可能包含了实现图片与Base64加密码字符串转换的核心逻辑。 综合以上分析,该工具涉及的技术点包括: 1. 图像处理:读取、显示和保存图片文件,可能使用了如OpenCV、PIL等库。 2. Base64...
本篇文章将详细介绍如何在Android中使用Base64来实现文件与String之间的相互转换。 一、Base64编码原理 Base64是一种基于64个字符的编码方法,这些字符包括大小写字母、数字以及"+"和"/",还有一个用于填充的字符"=...
在描述中提到的jar包和工具类,是已经封装好的Java代码,用于简化Base64的图片和字符串转换操作。这些工具类通常会包含以下方法: 1. `encodeImageToBase64`: 这个方法接收一个`BufferedImage`对象(Java中的图片...
要将文件转换为Base64字符串,我们可以按照以下步骤进行: 1. 打开文件:使用`System.IO.FileStream`类打开并读取文件。`FileStream`是处理文件输入输出的基础类,可以读取和写入文件。 ```csharp FileStream ...
总之,图片文件与Base64编码字节数组字符串之间的转换是通过读取文件、进行Base64编码/解码来实现的。Java提供了内置的工具类来支持这一过程,使得这种转换变得简单而高效。理解并熟练运用这种转换技巧,对于开发者...
通过这样的操作,你可以实现一个功能完善的VB应用程序,用于演示二进制图片文件与Base64字符串之间的转换。记住,在处理Base64时,确保正确处理字符串的边界,因为Base64编码可能需要在末尾添加等于号(=)来填充...
在描述的场景中,我们有两个关键操作:将图片转换为Base64字符串,并将Base64字符串还原为图片。 1. **图片转Base64字符串**: 在这个过程中,图片文件(通常为.jpg, .png, .gif等形式)被读取并转化为字节流。...
如果需要从Base64字符串恢复图片,可以使用类似的方法,先使用Convert.FromBase64String将字符串转换回字节数组,然后写入到新的文件中。 在实际应用中,这样的功能可能用于在数据库中存储图片数据,或者在网络请求...
反序列化是将Base64字符串转换回原始二进制数据的过程。在Python中,可以使用`b64decode()`函数来实现: ```python decoded_data = base64.b64decode(base64_string) ``` 这段代码将Base64字符串`base64_string`...
提供的文件列表中,`Base64_Convert.exe`很可能是一个执行程序,用于实现这个功能,即读取包含Base64编码的文本文件(如`Base64转二进制文件.b64`),并将其转换为二进制文件。`Base64转二进制文件.docx`和`Base64转...
1. **解码字符串**:使用`DecodeString`方法将Base64编码的字符串转换回原始的二进制数据。 2. **创建内存流**:创建一个`TMemoryStream`对象,用于存储解码后的二进制数据。 3. **写入数据**:将解码得到的二进制...
在VB中,我们可以利用内置的函数和方法来实现二进制图片文件向Base64字符串的转换,这个过程对于在网络上传输图像或者存储在数据库中非常有用。 首先,我们需要理解Base64编码的工作原理。Base64使用64个可打印字符...
### Base64与byte[]相互转换 #### 一、Base64编码简介 Base64是一种基于64个可打印字符来表示二进制数据的表示方法。它被广泛应用于电子邮件、网页等...这对于实际开发工作中处理二进制数据或字符串转换非常有用。
1. **文件转Base64**:用户可以上传本地文件,工具会读取文件内容并进行Base64编码,输出相应的Base64字符串。这对于在不支持二进制传输的环境下发送文件内容特别有用。 2. **Base64转文件**:输入Base64编码的字符...
这个过程与编码正好相反,首先将Base64字符串分割成4个字符一组,然后将每个字符转换回6位二进制,合并成3字节的二进制数据,最后写入文件。 在提供的"FileBase64Conver"压缩包中,可能包含了用于转换文件到Base64...
这个过程包括两个步骤:首先,使用Base64解码算法将字符串转换回二进制数据;其次,将解码后的二进制数据写入新的PDF文件中。 3. **编程实现**: 在编程中,多个语言提供了转换工具或库。例如,在Python中,你可以...
例如,`TestImageBinary.java`可能会有一个方法,接受图片路径作为输入,读取图片,将其转换为Base64字符串,然后再反向操作,将Base64字符串转换回图片。 `20090709442.jpg`文件很可能是用来测试上述代码的图片。...
当我们需要将一个字符串(通常由ASCII字符组成)编码为Base64时,首先会将字符串转换成其对应的字节序列。然后,每3个字节被分为一组,每个组用4个Base64字符表示。如果原始字符串的长度不是3的倍数,那么会在末尾...
将十六进制转换为BASE64,首先需要将十六进制字符串转换为二进制,然后再按照BASE64的规则进行编码。这个过程中,需要注意的是,十六进制字符串的长度可能不是3的倍数,因此可能需要在前面或后面添加0,使其长度符合...