一、字符串与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;
}
}
}
分享到:
相关推荐
在这个"图片Base64字符串转图片工具代码"中,我们讨论的是如何使用Delphi 7这个古老的但功能强大的集成开发环境(IDE)来实现这一功能。 首先,Base64编码是基于64个可打印字符的集合,这些字符包括大小写字母、...
反向过程是解码Base64字符串回原来的字节序列,然后将这些字节转化为对应的字符串。Base64字符被解析成6位的二进制数,每4个字符组成3个字节的数据。如果有等号在末尾,表示原始数据的最后部分是用0填充的,这些...
这段后台代码中,我们首先获取到图片的字节数组`imgbyte`,然后使用`BASE64Encoder`将其转换为Base64字符串`str64`。`ModelAndView`对象用于在前后端之间传递数据,我们设置了视图名称为`showimg`,并添加了一个名为...
例如,敏感数据可以先被转换为十六进制字符串,然后用Base64加密,最后存储在数据库的Blob字段中。当需要使用时,再进行解密和反转换。在文件`nvo_base64.sru`中,可能包含了实现这些功能的源代码或组件,供开发者...
二维码图片转换成BASE64字符串是一项常见的数据处理任务,在IT领域中有着广泛的应用。二维码(Quick Response Code)是一种二维条形码,可以存储大量的文本、网址、名片等信息,而BASE64则是一种用于将二进制数据...
本示例源代码主要展示了如何在C#中进行图片和Base64字符串之间的转换。下面将详细介绍这两个过程: 1. **图片转Base64字符串**: - 首先,你需要读取图片文件。在C#中,可以使用`System.Drawing.Image`类来加载...
本篇将详细讲解如何将Base64编码的字符串转化为图片并保存到本地,以C#语言为例,结合.NET框架进行操作。 首先,我们需要理解Base64编码的基本原理。Base64编码是将每3个字节(24位)的数据分成4组,每组6位,然后...
在字符串与Base64的转换中,我们首先需要理解字符串的本质。在大多数编程语言中,字符串是由Unicode字符组成的序列,每个字符可以由一个或多个字节表示,具体取决于字符集(如ASCII、UTF-8等)。当需要将字符串编码...
在描述的场景中,我们有两个关键操作:将图片转换为Base64字符串,并将Base64字符串还原为图片。 1. **图片转Base64字符串**: 在这个过程中,图片文件(通常为.jpg, .png, .gif等形式)被读取并转化为字节流。...
本文将深入探讨如何将图片转换为二进制格式,然后生成Base64编码字符串,以及如何将这些字符串重新转换回图片。这个过程在很多场景下都有应用,比如在网络上传输图片数据,或者在数据库中存储图片。 首先,我们需要...
在描述中提到的“文件转化为base64字符串”,是指将一个文件的内容转换成Base64格式的字符串。 **Base64编码原理:** Base64编码基于64个可打印字符来表示二进制数据。这64个字符包括大小写字母(A-Z, a-z)、数字...
Base64是一种用于将二进制数据编码为ASCII字符串的方法,以便在电子邮件或其他纯文本环境中传输。在Delphi中,可以使用TIdEncoderMIME类来完成这个过程。以下是一段示例代码: ```delphi uses IdEncoderMIME; var...
在描述中提到的jar包和工具类,是已经封装好的Java代码,用于简化Base64的图片和字符串转换操作。这些工具类通常会包含以下方法: 1. `encodeImageToBase64`: 这个方法接收一个`BufferedImage`对象(Java中的图片...
在Java编程中,将网络上的图片读取并转换为Base64字符串是一项常见的任务,尤其在Web开发中,这样的操作可以用于数据传输或者存储。Base64是一种编码方式,能够将二进制数据转化为可打印的ASCII字符,方便在网络上...
分析和理解这段代码可以帮助我们更深入地理解二维码到BASE64字符串的转化过程。 总的来说,二维码和BASE64编码都是信息技术中重要的工具,它们在数据传输和存储中发挥着关键作用。将二维码内的信息转化为BASE64字符...
Base64编码会将3个字节的二进制数据转化为4个字符的Base64字符串,每个Base64字符代表6位的二进制数,总共能表示2^64 = 64种不同的值。 标题"Base64转二进制文件,Base64 To File"涉及到的核心技术是将Base64编码的...
另一方面,如果你已经有了一个Base64编码的字符串,并想要将其转换回图片,可以按照以下步骤操作: 1. **解码Base64**:使用`Base64.Decoder`类的`decode()`方法对Base64编码的字符串进行解码,得到字节数组。 2. *...
在本主题“C++ Builder的base64和图片互转”中,我们将深入探讨如何在C++ Builder中实现base64编码和解码与图片之间的转换。 Base64是一种用于在网络上传输二进制数据的编码方式,它将二进制数据转化为ASCII字符,...
这段代码首先将字符串按逗号分隔,只保留第二个分段,即Base64编码的图像数据,然后进行解码并创建`Bitmap`。 ### 总结 Base64编码在Android中广泛应用于图片数据的网络传输和存储。通过`Base64.encodeToString()`...
在上述代码中,`$base64_string`是Base64编码的JPEG图片字符串,`$output_file`是要保存的JPEG文件路径。函数首先检查并去除字符串中的"data:image/jpeg;base64,"前缀,然后调用`base64_decode`进行解码,最后将解码...