`
yangxiutian
  • 浏览: 59724 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

图片和字符的转换(base64编码)

 
阅读更多
//代码源自:五月天 发表时间: 2010-04-10 浏览 (662) 回复 (0) 相关度: 100.00 %
//喜欢于是收藏了,请作者见谅
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 Base64Image {  
    public static void main(String[] args) {  
        // 测试从Base64编码转换为图片文件  
        String strImg = "";
        GenerateImage(strImg, "D:\\wangyc.jpg");  
          
        // 测试从图片文件转换为Base64编码  
        System.out.println(GetImageStr("d:\\wangyc.jpg"));  
    }  
 
    public static String GetImageStr(String imgFilePath) {// 将图片文件转化为字节数组字符串,并对其进行Base64编码处理  
        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编码过的字节数组字符串  
    }  
 
    public static boolean GenerateImage(String imgStr, String imgFilePath) {// 对字节数组字符串进行Base64解码并生成图片  
        if (imgStr == null) // 图像数据为空  
            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;  
        }  
    }  

分享到:
评论
5 楼 yangxiutian 2013-12-17  
其实IE浏览器有这个功能的,把网页保存成mht格式的文件,遇到图片IE会把它转换成Base64编码的文本,在转换后的文件里是可以找到图片生成的文本的。
4 楼 LI912683617 2013-11-19  
楼主,HELP
3 楼 LI912683617 2013-11-19  
对于.JPEG的图片不能转换啊,提示找不到文件。
2 楼 LI912683617 2013-11-19  
这是输出结果,明显不对啊,
这里放64位编码
///64M//
1 楼 LI912683617 2013-11-19  
不好使呢?

相关推荐

    2进制与base64编码转换C代码

    需要一个二进制与BASE64相互转换的函数,从网上找...示例中提供二进制与16进制字符串转换函数ConvertHexStrToBin与ConvertBinToHexStr,二进制与BASE64编码转换函数Base64Encode与Base64Decode,在VC6下编译通过可用。

    Hex十六进制/Base64编码转换器

    Hex十六进制/Base64编码转换器,可对字符串文本进行十六进制及Base64编码与反编码

    vb 图片转base64编码 程序源码

    【程序老媛出品,必属精品,亲测校正,...资源名:vb 图片转base64编码 程序源码 资源类型:程序源代码 源码说明: 基于vb编写的实现图片转base64编码程序源码 非常适合借鉴学习 适合人群:新手及有一定经验的开发人员

    JavaScript实现Base64编码转换

    简介 Base64是一种基于64个可打印字符来表示二进制数据的表示方法。由于2的6次方等于64,所以每6个...当然,你也可以将图片、文本和音视频转换成二进制序列,再然后转换为Base64编码。我们这里讨论的是如何将二进制转换

    LabVIEW实现Base64加密解密程序源码

    base 64编码可以将任意一组字节转换为较长的常见文本字符序列,从而可以合法地作为首部字段值。base 64编码将用户输入或二进制数据,打包成一种安全格式,将其作为HTTP首部字段的值发送出去,而无须担心其中包含会...

    delphi图片转base64编码小工具支持jpg,png,bmp,gif

    程序能将多种图片格式,转换为base64编码。 可用于网页编辑等html5效果实现。 如果你在运行时感觉速度很慢,在delphi编辑环境中把 memo的scrollbars属性设置为 both 即可!

    BASE64编码转换工具

    包含字符转BASE64编码、十六进制转BASE64编码。以及互转

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

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

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

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

    Delphi源码,图片转base64及base64转图片函数

    function Base64ToImage(const base64:string;AImage:TImage):Boolean; function Base64ToImageFile(const base64:string;AImagefile:string):Boolean; function CheckImgTypeBase64(abase64:string):string;

    base64编码解码用于pb8pb9pb12.5等

    Base64要求把每三个8Bit的字节转换为四个6Bit的字节(3*8 = 4*6 = 24),然后把6Bit再添两位高位0,组成四个8Bit的字节,也就是说,转换后的字符串理论上将要比原来的长1/3。 关于这个编码的规则: ①把3个字符变成4...

    VB实现图片转BASE64或BASE64转成图片

    VB6实现图片和BASE64之间的转换,巧用XML,通用性好,可以用于将图片远程上传服务器,保存数据库,或才接收服务器图片数据后,转换成图片本地显示。

    C# 文件转换base64

    C# 文件转base64 文件转换 C# 文件转base64 文件转换

    c# Base64编码和图片的互相转换代码

     后来,我们把图片数据转换为Base64编码,替代了原先存储图片路径的方式。 转换流程 将图片转化为Base64字符串的流程是:首先使用BinaryFormatter将图片文件序列化为二进制数据,然后使用Convert类的ToBase64String...

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

    将图片Base64的编码还原为图片格式,Delphi7编写。

    将图片进行Base64编码后传输

    NULL 博文链接:https://eric-gao.iteye.com/blog/1705795

    js对图片base64编码字符串进行解码并输出图像示例

    代码如下: &lt;!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”&gt; &lt;html xmlns=”... &lt;head&gt; ...background-co

    一个很好的Base64编码解码工具

    Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,Base64要求把每三个8Bit的字节转换为四个6Bit的字节(3*8 = 4*6 = 24),然后把6Bit再添两位高位0,组成四个8Bit的字节,也就是说,转换后的字符串理论...

    Base64 编码 解码器 V1.5版

    编码: 在上面的窗口输入源码(最多可输入20000个字符),同时即可在下面的窗口输出转换后的base64编码。  解码: 在下面的窗口输入base64的编码(最多可输入25000个字符,软件可以自动过滤掉非base64编码),同时即可...

    PDF和Base64格式互相转换

    PDF和Base64格式互相转换;

Global site tag (gtag.js) - Google Analytics