`

图片数据Base64编解码(java实现)

 
阅读更多
package com.vista.test;

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 MyTest 
{
    public static void main(String[] args)
    {
        String strImg = GetImageStr();
        GenerateImage(strImg);
    }
    public static String GetImageStr()
    {//将图片文件转化为字节数组字符串,并对其进行Base64编码处理
        String imgFile = "d:\\111.jpg";//待处理的图片
        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编码过的字节数组字符串
    }
    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 = "d:\\222.jpg";//新生成的图片
            OutputStream out = new FileOutputStream(imgFilePath);    
            out.write(b);
            out.flush();
            out.close();
            return true;
        } 
        catch (Exception e) 
        {
            return false;
        }
    }
}

 

转自:http://www.cnblogs.com/phinecos/archive/2008/09/23/1297292.html

分享到:
评论

相关推荐

    Java之Base64编解码.pptx.pptx

    Java Base64编码是一种用64个字符表示任意二进制数据的方法,通过将3个字节的数据转换为4个Base64字符,实现数据的压缩和传输。 Java Base64解码过程 Java Base64解码是将Base64编码后的字符串还原为原始二进制数据...

    Base64编解码程序 附带源码 可以把文件编码为bmp图片

    Base64编解码程序 可以把文件编码为bmp图片 当然编码出来的图片当然是很不美观的~~~ 注意:不要编码或解码过大的文件~~ 因为该程序的所有操作都是在内存中进行的~~ 且是单线程的~~ 编码出来的位图是BITMAPCOREHEADER...

    json数据base64编码压缩+解压解码(java以及js)

    java端:返回类型非字符接口调用StringUtils#base64AndCompressJson进行编码压缩 ,返回类型为字符接口调用StringUtils#base64Andcompress js 端:引入压缩包中的js文件 ,调用deBase64AndUncompress进行解压解码

    java实现Base64加解密jar包

    BASE64Encoder.jar是用于java、android项目中Base64数据加解密工具,简单易用

    Base64编解码

    Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,大家可以查看RFC2045~RFC2049,上面有MIME的详细规范...此时,采用Base64编码不仅比较简短,同时也具有不可读性,即所编码的数据不会被人用肉眼所直接看到

    android自带base64实现BASE64编码和解码程序完整Java源码

    android 开发中有时会需要用到base64加解密,其实base64并不算是一种加密的算法,只是一种基于64个可打印字符来表示二进制数据的表示方法。 google在android.util下提供了一个Base64工具类,可以很方便的用它encode...

    图片url和base64位相互转换

    图片url转base64位,base64位的数据转换成图片,附带工具类

    Java实现BASE64编码和解码的方法

    本篇文章主要介绍了Java实现BASE64编码和解码的方法,BASE64编码通常用于转换二进制数据为文本数据,有需要的可以了解一下。

    Base64转码,AES加密解密,IOS,Android,Java

    Base64转码,AES加密解密,IOS,Android,Java 后台。 本工程可以直接使用,而且与IOS,Android,JAVA 已调通。 主要用于客户端进行通信,数据之间地安全性。对数据进行加密和解密。 适用于银行等较为保密的项目中。 ...

    Base64转换String工具

    可实现Base64数据与String类型数据互转,Base64转string时产生的是HEX格式,转成ascll码即可。

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

    Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法。 Base64编码是从二进制到字符的过程,可用于在HTTP环境下传递较长的标识信息。例如,在Java ...

    base编码解码

    可以实时对数据base64编码 或者解码

    javabase64-1.2.zip

    Java Base64 这是一个用于编码和解码(encode/decode )base64字符串和数据流的Java开源类库。Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一。可用来作为电子邮件或WebService附件的传输编码.

    查看Base64数据信息

    可进行编码、解码Base64字符串,常用于代码调试。

    Base64.zip

    Base64.jar 工具下载 Java Base64 这是一个用于编码和解码(encode/decode )base64字符串和数据流的Java开源类库。Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一。

    base62:一个小型Java库,用于在base-62中对数字和UUID进行编码

    这是一个小型Java库,用于以base-62格式编码和解码数据。 它主要用于以紧凑且在URL中运行良好的方式对UUID进行编码。 与base-64相比,它不需要任何非字母数字字符。 基本-62系统的62位由10个字符为十进制数字...

    Java-图片BLOB的存取DEMO

    20180828开发,提供了三... WEB方式未实现,后期自行研究(可通过JS将前台上传的图片处理成Base64编码格式的字符串, 然后将Base64字符串传参到Controller后进行解码处理后再存储到BLOB字段。 依赖Jar包: ojdbc6.jar

    jBaseZ85:ZeroMQ Base-85编码的Java实现。 Base85是二进制到文本的编码库

    ZeroMQ Base-85编码的Java实现 用Java编写的ZeroMQ Base85编码器/解码器。 二进制到文本编码的基本需求来自通过已设计为仅携带人类可读文本的现有通信协议通信任意二进制数据的需求。 这些通信协议可能仅是7位安全...

    借助FileReader实现将文件编码为Base64后通过AJAX上传

    主要介绍了借助FileReader实现将文件编码为Base64后通过AJAX上传的方法,包括后端对文件数据解码并保存的PHP代码,需要的朋友可以参考下

    java http 测试小工具

    java做的http测试小工具,支持post、put、get方法发送数据,自带base64编码以及解码,支持返回内容下载或base64解码保存为文件,支持base64编码类型选择,http请求编码类型选择以及超时时间设置 该软件必须在 64位...

Global site tag (gtag.js) - Google Analytics