java实现图片与base64字符串之间的转换

java实现图片与base64字符串之间的转换

package com.zxc.testjava.ant;

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 TestChangeImage {

public static void main(String[] args) {
String strImg = GetImageStr();
System.out.println(strImg);
GenerateImage(strImg);
}

// 图片转化成base64字符串
public static String GetImageStr() {// 将图片文件转化为字节数组字符串,并对其进行Base64编码处理
String imgFile = "C:/Users/Star/Desktop/test.png";// 待处理的图片
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编码过的字节数组字符串
}

// 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 = "C:/Users/Star/Desktop/test22.png";// 新生成的图片
OutputStream out = new FileOutputStream(imgFilePath);
out.write(b);
out.flush();
out.close();
return true;
} catch (Exception e) {
return false;
}
}
}
时间: 2024-10-10 16:25:12

java实现图片与base64字符串之间的转换的相关文章

&lt;摘录&gt;Gson对Java嵌套对象和JSON字符串之间的转换

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,具有良好的跨平台特性.近几年来已经和XML一样成为C/S架构中广泛采用的数据格式.有关JSON的更多知识,请参考以下内容:http://json.org/json-zh.html 在服务器和客户端之间使用JSON数据格式进行通信,经常会涉及到JAVA对象和JSON字符串之间的转换.通常,我们可以使用一些JSON解析工具,例如:Gson,FastJson等.当然,我们也可以手动解析,只是会比较繁琐. 下面

图片转base64字符串

图片转base64字符串 by 伍雪颖 - (NSString *)base64String:(UIImage *)image { NSData * data = [UIImagePNGRepresentation(image) base64EncodedDataWithOptions:NSDataBase64Encoding64CharacterLineLength]; return [NSString stringWithUTF8String:[data bytes]]; } NSData

Java 中基本类型和字符串之间的转换

Java 中基本类型和字符串之间的转换 在程序开发中,我们经常需要在基本数据类型和字符串之间进行转换. 其中,基本类型转换为字符串有三种方法: 1. 使用包装类的 toString() 方法 2. 使用String类的 valueOf() 方法 3. 用一个空字符串加上基本类型,得到的就是基本类型数据对应的字符串 再来看,将字符串转换成基本类型有两种方法: 1. 调用包装类的 parseXxx 静态方法 2. 调用包装类的 valueOf() 方法转换为基本类型的包装类,会自动拆箱 PS:其他基

java中数组、集合、字符串之间的转换,以及用加强for循环遍历

java中数组.集合.字符串之间的转换,以及用加强for循环遍历: 1 @Test 2 public void testDemo5() { 3 ArrayList<String> list = new ArrayList<String>(); 4 list.add("甲乙1"); 5 list.add("甲乙2"); 6 list.add("甲乙3"); 7 list.add("甲乙4"); 8 //

java基本类型与字符串之间的转换

在程序开发中,我们经常需要在基本数据类型和字符串之间进行转换. 其中,基本类型转换为字符串有三种方法: 1. 使用包装类的 toString() 方法 2. 使用String类的 valueOf() 方法 3. 用一个空字符串加上基本类型,得到的就是基本类型数据对应的字符串 int c = 10; String str1 =Integer.toString(c); //方法一 String str2 = String.valueOf(c); //方法二 String str3 = c + "&q

JavaSE(六)包装类、基本类型和字符串之间的转换、==和equals的区别

一.包装类 Java语言是一个面向对象的语言,但是Java中的基本数据类型却是不面向对象的,这在实际使用时存在很多的不便,为了解决这个不足, 在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八个和基本数据类型对应的类统称为包装类(Wrapper Class),有些地方也翻译为外覆类或数据类型类. 1.1.包装类均位于Java.lang包,包装类和基本数据类型的对应关系如下表所示: Primitive-Type   Wrapper-Class        byte          

数字与字符串之间的转换

char*itoa(intvalue,char*string,intradix); int value 被转换的整数,char *string 转换后储存的字符数组,int radix 转换进制数,如2,8,10,16 进制等 头文件: <stdlib.h> atof(将字符串转换成浮点型数) atoi(将字符串转换成整型数) atol(将字符串转换成长整型数) strtod(将字符串转换成浮点数) strtol(将字符串转换成长整型数) strtoul(将字符串转换成无符号长整型数) toa

OGNL与字符串之间的转换以及OGNL符号使用场景

OGNL与字符串之间的转换以及OGNL表达式的处理 OGNL变为字符串: 单引号:<s:property value="'<hr/>'" escapeHTML="false"/> 字符串变为OGNL: %{}:<s:a href="%{#houseUrl}">链接</s:a> OGNL中%{}.#以及$的使用场景: %{}:设置动态的值,告诉标签的处理类,该字符串按照 OGNL表达式来处理.方法1:

javascript中Date对象与字符串之间的转换

使用js中new Date()得到的Data对象转换为字符串之后往往未能符合我们想要的期望,今天我就“Date对象与字符串之间的转换”这个主题做一个简易的分析: 常见的转换方式有: 一.toString() —— 把 Date 对象转换为字符串 1 var str = new Date().toString(); 2 console.log(str); 3 4 //output: 5 //Mon Oct 12 2015 11:13:22 GMT+0800 二.toTimeString() ——