`
高军威
  • 浏览: 183373 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

图片和Base64 编码字符串 互转

阅读更多

容易遇到的错误:


解决方法:

将Java\jre6\lib\rt.jar添加到项目的构建路径中去

package com.gjw.imgtobit;

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

相关推荐

    c#中 base64字符串与普通字符串互转

    总结,C#中的Base64字符串与普通字符串互转是通过`System.Convert`类提供的`ToBase64String`和`FromBase64String`方法实现的。在进行转换时,需要确保对字符串的编码有准确的理解,以便正确地转换和还原。在实际应用...

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

    Base64是一种用于将二进制数据编码为ASCII字符串的编码方式,它在传输或存储非文本数据时非常有用,例如图片。 在HTML文档中,`&lt;img&gt;`标签通常用于展示图像,但在这里,我们将通过JavaScript来实现这一功能。首先,...

    图片文件与Base64编码字节数组字符串互转

    在IT领域,尤其是在Web开发中,图片文件与Base64编码字节数组字符串的转换是一种常见的操作。这种转换在不直接使用图片文件路径或URL,而是将图片数据嵌入到HTML、CSS或JavaScript中时非常有用。下面我们将详细探讨...

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

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

    图片与Base64加密码字符串相互转换工具

    3. "工具":表示这是一个辅助性的应用程序,方便用户进行图片与编码字符串之间的转换操作。 4. "源码":意味着该工具的原始编程代码一同提供,便于用户学习、研究或扩展。 【文件名称解析】 1. ImgTEST.sln:这是一...

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

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

    C++图片转base64字符串

    这个函数通常接受二进制数据的指针和长度作为参数,返回一个base64编码的字符串。 下面是一个简单的示例,展示了如何使用这个库将图片文件读入内存,然后将其转换为base64字符串: ```cpp #include "zbase64.h" #...

    labview 图片缩放 base64编码base64解码

    首先,你需要将图像数据转换为字节串,然后使用Base64编码函数将字节串转换为可读的字符串。这样,图片数据就可以以文本形式在网络上传输,或保存在文本文件中。 3. **Base64解码**: 当接收到Base64编码的字符串...

    base64 加解码 base64转hex Base64转图片 图片转Base64工具,比网上其它的方便好用,支持大于1M内容

    6. **图片转Base64**:相反的过程,将本地图片文件读取并转换成Base64字符串,便于在网页或应用程序中内嵌图片,特别是在不需要服务器存储或传输原始图片文件的情况下。 7. **支持大于1M内容**:许多在线工具可能对...

    字符串和base64的编码与解码

    本主题聚焦于字符串和Base64之间的转换,这是一个常见的编码方式,尤其在网络通信和文件存储中广泛使用。 Base64是一种用64个字符来表示任意二进制数据的编码方法。这64个字符包括大小写字母(A-Z,a-z)、数字(0-...

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

    1. **图片转Base64字符串**: - 首先,你需要读取图片文件。在C#中,可以使用`System.Drawing.Image`类来加载图片。 - 加载图片后,将其转换为字节数组。使用`Image.Save`方法,传入一个`MemoryStream`对象,这样...

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

    在编程领域,Base64是一种常见的数据编码方式,它能够将任何二进制数据转换成ASCII字符串形式,便于在网络上传输或存储。在VB(Visual Basic)中,处理这种转换非常实用,尤其是在处理图片文件时。例如,如果你有一...

    将图片进行Base64编码后传输

    `b64encode()`函数接受一个字节对象,并返回Base64编码的字符串。这个编码后的字符串可以直接插入到HTML的`&lt;img&gt;`标签的`data:`URI中,或者在HTTP请求中作为JSON字段发送: ```html ;base64,{{encoded_string}}"&gt; `...

    c++图片与base64互转

    在本案例中,我们关注的是如何在C++环境下使用OpenCV库进行图片与Base64字符串之间的相互转换。OpenCV是一个强大的计算机视觉库,除了图像处理功能外,它也可以用来读取和写入图像文件。 首先,我们需要理解Base64...

    Base64文本字符串编码解码加密解密双向解析工具

    5. 如果编码字符串末尾有等号,表示原始数据是被填充过的,需要去掉等号并丢弃相应的填充字节。 6. 将解码得到的字节序列转换回文本(使用相同的字符编码,如UTF-8)。 至于标签中的“加密”和“解密”,Base64本身...

    JSON格式化/字符串格式转换

    3、BASE64转字符串:与字符串转BASE64功能相反,软件可以将BASE64编码的字符串还原为原始字符串,方便用户查看和使用。 4、字符串转HEX:将字符串转换为HEX编码,可以用于加密、签名等场景。软件提供了一键转换功能...

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

    在这个场景中,我们关注的是如何将二进制图片文件转换为Base64字符串文本,以及如何将这个Base64字符串再还原回图片。这在数据传输、存储或者网页显示等方面非常有用,因为Base64编码可以将二进制数据转换为ASCII...

    vb 图片转base64编码 程序源码

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

    易语言 base64编码转图片 如何 提高转换速度.zip

    1. **读取Base64字符串**:首先,我们需要读取包含Base64编码的字符串,这可以通过读取文本文件或用户输入完成。 2. **Base64解码**:易语言提供了一系列的字符串操作函数,可以用来实现Base64解码。这通常包括对...

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

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

Global site tag (gtag.js) - Google Analytics