`

base64实现文件与字符串之间的转换(转)

    博客分类:
  • java
阅读更多

 

例子如下:

 

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;
		}
	}

}

 

 

 

 

分享到:
评论

相关推荐

    c#中 base64字符串与普通字符串互转

    1. 将普通字符串转换为Base64字符串 在C#中,我们可以使用`System.Convert`类的`ToBase64String`方法将普通字符串(UTF-8编码的字节数组)转换为Base64字符串。首先,我们需要将字符串转换为字节数组,然后进行编码...

    图片与Base64加密码字符串相互转换工具

    如果是源代码文件,那么它可能包含了实现图片与Base64加密码字符串转换的核心逻辑。 综合以上分析,该工具涉及的技术点包括: 1. 图像处理:读取、显示和保存图片文件,可能使用了如OpenCV、PIL等库。 2. Base64...

    android用base64实现文件与string相互转换

    本篇文章将详细介绍如何在Android中使用Base64来实现文件与String之间的相互转换。 一、Base64编码原理 Base64是一种基于64个字符的编码方法,这些字符包括大小写字母、数字以及"+"和"/",还有一个用于填充的字符"=...

    base64-图片与字符串相互转换jar包及工具类.rar

    在描述中提到的jar包和工具类,是已经封装好的Java代码,用于简化Base64的图片和字符串转换操作。这些工具类通常会包含以下方法: 1. `encodeImageToBase64`: 这个方法接收一个`BufferedImage`对象(Java中的图片...

    C# 文件转换base64

    要将文件转换为Base64字符串,我们可以按照以下步骤进行: 1. 打开文件:使用`System.IO.FileStream`类打开并读取文件。`FileStream`是处理文件输入输出的基础类,可以读取和写入文件。 ```csharp FileStream ...

    图片文件与Base64编码字节数组字符串互转

    总之,图片文件与Base64编码字节数组字符串之间的转换是通过读取文件、进行Base64编码/解码来实现的。Java提供了内置的工具类来支持这一过程,使得这种转换变得简单而高效。理解并熟练运用这种转换技巧,对于开发者...

    VB 将二进制图片文件转换为Base64字符串文本.rar

    通过这样的操作,你可以实现一个功能完善的VB应用程序,用于演示二进制图片文件与Base64字符串之间的转换。记住,在处理Base64时,确保正确处理字符串的边界,因为Base64编码可能需要在末尾添加等于号(=)来填充...

    base64字符串和图片的相互转换

    在描述的场景中,我们有两个关键操作:将图片转换为Base64字符串,并将Base64字符串还原为图片。 1. **图片转Base64字符串**: 在这个过程中,图片文件(通常为.jpg, .png, .gif等形式)被读取并转化为字节流。...

    VB将二进制图片文件转换为Base64字符串文本

    如果需要从Base64字符串恢复图片,可以使用类似的方法,先使用Convert.FromBase64String将字符串转换回字节数组,然后写入到新的文件中。 在实际应用中,这样的功能可能用于在数据库中存储图片数据,或者在网络请求...

    base64序列化字符串

    反序列化是将Base64字符串转换回原始二进制数据的过程。在Python中,可以使用`b64decode()`函数来实现: ```python decoded_data = base64.b64decode(base64_string) ``` 这段代码将Base64字符串`base64_string`...

    Base64转二进制文件,Base64 To File

    提供的文件列表中,`Base64_Convert.exe`很可能是一个执行程序,用于实现这个功能,即读取包含Base64编码的文本文件(如`Base64转二进制文件.b64`),并将其转换为二进制文件。`Base64转二进制文件.docx`和`Base64转...

    图片base64字符串转图片工具代码

    1. **解码字符串**:使用`DecodeString`方法将Base64编码的字符串转换回原始的二进制数据。 2. **创建内存流**:创建一个`TMemoryStream`对象,用于存储解码后的二进制数据。 3. **写入数据**:将解码得到的二进制...

    VB 将二进制图片文件转换为Base64字符串文本

    在VB中,我们可以利用内置的函数和方法来实现二进制图片文件向Base64字符串的转换,这个过程对于在网络上传输图像或者存储在数据库中非常有用。 首先,我们需要理解Base64编码的工作原理。Base64使用64个可打印字符...

    Base64与byte[]相互转换

    ### Base64与byte[]相互转换 #### 一、Base64编码简介 Base64是一种基于64个可打印字符来表示二进制数据的表示方法。它被广泛应用于电子邮件、网页等...这对于实际开发工作中处理二进制数据或字符串转换非常有用。

    Base64文件图片编码解码双向转换解析预览工具

    1. **文件转Base64**:用户可以上传本地文件,工具会读取文件内容并进行Base64编码,输出相应的Base64字符串。这对于在不支持二进制传输的环境下发送文件内容特别有用。 2. **Base64转文件**:输入Base64编码的字符...

    文件转化为base64字符串

    这个过程与编码正好相反,首先将Base64字符串分割成4个字符一组,然后将每个字符转换回6位二进制,合并成3字节的二进制数据,最后写入文件。 在提供的"FileBase64Conver"压缩包中,可能包含了用于转换文件到Base64...

    PDF和Base64格式互相转换

    这个过程包括两个步骤:首先,使用Base64解码算法将字符串转换回二进制数据;其次,将解码后的二进制数据写入新的PDF文件中。 3. **编程实现**: 在编程中,多个语言提供了转换工具或库。例如,在Python中,你可以...

    将图片转成二进制并生成Base64编码字符串,再将二进制转换成各种图片

    例如,`TestImageBinary.java`可能会有一个方法,接受图片路径作为输入,读取图片,将其转换为Base64字符串,然后再反向操作,将Base64字符串转换回图片。 `20090709442.jpg`文件很可能是用来测试上述代码的图片。...

    base64与字符串互相转化

    当我们需要将一个字符串(通常由ASCII字符组成)编码为Base64时,首先会将字符串转换成其对应的字节序列。然后,每3个字节被分为一组,每个组用4个Base64字符表示。如果原始字符串的长度不是3的倍数,那么会在末尾...

    BASE64编码转换工具

    将十六进制转换为BASE64,首先需要将十六进制字符串转换为二进制,然后再按照BASE64的规则进行编码。这个过程中,需要注意的是,十六进制字符串的长度可能不是3的倍数,因此可能需要在前面或后面添加0,使其长度符合...

Global site tag (gtag.js) - Google Analytics