`
azrael6619
  • 浏览: 579582 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

字符串、图片 与 base64 转化 代码

阅读更多

一、字符串与base64转化

/**
 * 用于 BASE64 的编码和解码
 */
package com.base64;

import sun.misc.BASE64Decoder;

public class StringAndBase64 {
	public static String getBASE64(String s) { 
		if (s == null){
			return null; 
		}
		return (new sun.misc.BASE64Encoder()).encode( s.getBytes() ); 
	} 

//		 将 BASE64 编码的字符串 base64 进行解码 
	public static String getFromBASE64(String base64) { 
		if (base64 == null){
			return null; 
		}
		BASE64Decoder decoder = new BASE64Decoder(); 
		try { 
			byte[] b = decoder.decodeBuffer(base64); 
			return new String(b); 
		} catch (Exception e) { 
			return null; 
		}
	}
	
	public static void main(String[] args){
		String s = "123123";
		System.out.println("s="+s);
		String base64 = StringAndBase64.getBASE64(s);
		base64 = "";
		System.out.println("base64="+base64);
		String s2 = StringAndBase64.getFromBASE64(base64);
		System.out.println("s2="+s2);
	}
}

 

 

二、图片与base64转化

package com.base64;
import java.io.File;
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 PictureAndBase64 {  
	public static void main(String[] args) {  
		// 测试从图片文件转换为Base64编码  
		String strImg = GetImageStr("C:\\test.bmp");
		System.out.println(strImg);
		// 测试从Base64编码转换为图片文件 
		GenerateImage(strImg, "C:\\test.bmp");
	}  
	public static String GetImageStr(String imgFilePath) {// 将图片文件转化为字节数组字符串,并对其进行Base64编码处理
		if(imgFilePath == null || imgFilePath == ""){
			return "";
		}
		File file = new File(imgFilePath);
		if(!file.exists()){
			return "";
		}
		byte[] data = null;
		// 读取图片字节数组
		try {
			InputStream in = new FileInputStream(imgFilePath);
			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编码过的字节数组字符串
	}
	
	// 对字节数组字符串进行Base64解码并生成图片
	public static boolean GenerateImage(String imgStr, String imgFilePath) {
		if (imgStr == null || imgStr == "") // 图像数据为空
			return false;
		BASE64Decoder decoder = new BASE64Decoder();
		try {
			// Base64解码
			byte[] bytes = decoder.decodeBuffer(imgStr);
			for (int i = 0; i < bytes.length; ++i) {
				if (bytes[i] < 0) {// 调整异常数据
					bytes[i] += 256;
				}
			}
			// 生成jpeg图片
			OutputStream out = new FileOutputStream(imgFilePath);
			out.write(bytes);
			out.flush();
			out.close();
			return true;
		} catch (Exception e) {
			return false;
		}
	}
}

 

分享到:
评论
1 楼 ZhouXunYou 2012-08-24  
用BASE64 有什么好处啊

相关推荐

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

    在这个"图片Base64字符串转图片工具代码"中,我们讨论的是如何使用Delphi 7这个古老的但功能强大的集成开发环境(IDE)来实现这一功能。 首先,Base64编码是基于64个可打印字符的集合,这些字符包括大小写字母、...

    base64与字符串互相转化

    反向过程是解码Base64字符串回原来的字节序列,然后将这些字节转化为对应的字符串。Base64字符被解析成6位的二进制数,每4个字符组成3个字节的数据。如果有等号在末尾,表示原始数据的最后部分是用0填充的,这些...

    Thymeleaf显示base64字符串为图片.docx

    这段后台代码中,我们首先获取到图片的字节数组`imgbyte`,然后使用`BASE64Encoder`将其转换为Base64字符串`str64`。`ModelAndView`对象用于在前后端之间传递数据,我们设置了视图名称为`showimg`,并添加了一个名为...

    PB关于字符进制数转化及base64加密、解密,nvo_base64.sru

    例如,敏感数据可以先被转换为十六进制字符串,然后用Base64加密,最后存储在数据库的Blob字段中。当需要使用时,再进行解密和反转换。在文件`nvo_base64.sru`中,可能包含了实现这些功能的源代码或组件,供开发者...

    二维码图片转换成BASE64字符串

    二维码图片转换成BASE64字符串是一项常见的数据处理任务,在IT领域中有着广泛的应用。二维码(Quick Response Code)是一种二维条形码,可以存储大量的文本、网址、名片等信息,而BASE64则是一种用于将二进制数据...

    C#图片与Base64字符串互转示例源代码

    本示例源代码主要展示了如何在C#中进行图片和Base64字符串之间的转换。下面将详细介绍这两个过程: 1. **图片转Base64字符串**: - 首先,你需要读取图片文件。在C#中,可以使用`System.Drawing.Image`类来加载...

    base64转化为图片保存到本地

    本篇将详细讲解如何将Base64编码的字符串转化为图片并保存到本地,以C#语言为例,结合.NET框架进行操作。 首先,我们需要理解Base64编码的基本原理。Base64编码是将每3个字节(24位)的数据分成4组,每组6位,然后...

    字符串和base64的编码与解码

    在字符串与Base64的转换中,我们首先需要理解字符串的本质。在大多数编程语言中,字符串是由Unicode字符组成的序列,每个字符可以由一个或多个字节表示,具体取决于字符集(如ASCII、UTF-8等)。当需要将字符串编码...

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

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

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

    本文将深入探讨如何将图片转换为二进制格式,然后生成Base64编码字符串,以及如何将这些字符串重新转换回图片。这个过程在很多场景下都有应用,比如在网络上传输图片数据,或者在数据库中存储图片。 首先,我们需要...

    文件转化为base64字符串

    在描述中提到的“文件转化为base64字符串”,是指将一个文件的内容转换成Base64格式的字符串。 **Base64编码原理:** Base64编码基于64个可打印字符来表示二进制数据。这64个字符包括大小写字母(A-Z, a-z)、数字...

    Delphi图片与Base64互转及图片添加水印

    Base64是一种用于将二进制数据编码为ASCII字符串的方法,以便在电子邮件或其他纯文本环境中传输。在Delphi中,可以使用TIdEncoderMIME类来完成这个过程。以下是一段示例代码: ```delphi uses IdEncoderMIME; var...

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

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

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

    在Java编程中,将网络上的图片读取并转换为Base64字符串是一项常见的任务,尤其在Web开发中,这样的操作可以用于数据传输或者存储。Base64是一种编码方式,能够将二进制数据转化为可打印的ASCII字符,方便在网络上...

    二维码转化BASE64字符串存储

    分析和理解这段代码可以帮助我们更深入地理解二维码到BASE64字符串的转化过程。 总的来说,二维码和BASE64编码都是信息技术中重要的工具,它们在数据传输和存储中发挥着关键作用。将二维码内的信息转化为BASE64字符...

    Base64转二进制文件,Base64 To File

    Base64编码会将3个字节的二进制数据转化为4个字符的Base64字符串,每个Base64字符代表6位的二进制数,总共能表示2^64 = 64种不同的值。 标题"Base64转二进制文件,Base64 To File"涉及到的核心技术是将Base64编码的...

    Java实现图片和Base64之间的相互转化

    另一方面,如果你已经有了一个Base64编码的字符串,并想要将其转换回图片,可以按照以下步骤操作: 1. **解码Base64**:使用`Base64.Decoder`类的`decode()`方法对Base64编码的字符串进行解码,得到字节数组。 2. *...

    C++ Builder的base64和图片互转

    在本主题“C++ Builder的base64和图片互转”中,我们将深入探讨如何在C++ Builder中实现base64编码和解码与图片之间的转换。 Base64是一种用于在网络上传输二进制数据的编码方式,它将二进制数据转化为ASCII字符,...

    Android图片的Base64编码与解码及解码Base64图片方法

    这段代码首先将字符串按逗号分隔,只保留第二个分段,即Base64编码的图像数据,然后进行解码并创建`Bitmap`。 ### 总结 Base64编码在Android中广泛应用于图片数据的网络传输和存储。通过`Base64.encodeToString()`...

    php base64字符串图片jpeg文本文件转换为jpeg图片

    在上述代码中,`$base64_string`是Base64编码的JPEG图片字符串,`$output_file`是要保存的JPEG文件路径。函数首先检查并去除字符串中的"data:image/jpeg;base64,"前缀,然后调用`base64_decode`进行解码,最后将解码...

Global site tag (gtag.js) - Google Analytics