`
高军威
  • 浏览: 180684 次
  • 性别: 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编码字符串,再将二进制转换成各种图片

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

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

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

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

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

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

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

    labview 图片缩放 base64编码base64解码

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

    字符串和base64的编码与解码

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

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

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

    C++图片转base64字符串

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

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

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

    将图片进行Base64编码后传输

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

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

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

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

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

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

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

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

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

    vb 图片转base64编码 程序源码

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

    C++ Builder的base64和图片互转

    在本主题“C++ Builder的base64和图片互转”中,我们将深入探讨如何在C++ Builder中实现base64编码和解码与图片之间的转换。 Base64是一种用于在网络上传输二进制数据的编码方式,它将二进制数据转化为ASCII字符,...

    js对字符串进行base64转码/解码

    1. **合法性检查**:首先检查输入字符串是否符合Base64编码规则。 2. **循环解码**:逐个字符处理输入字符串,并将其从Base64编码还原为原始数据。 3. **特殊字符处理**:处理填充符“=”的情况。 #### 三、Unicode...

    Thymeleaf显示base64字符串为图片.docx

    总结来说,要在Thymeleaf中显示Base64字符串为图片,关键在于后台将图片字节数组转成Base64字符串并添加MIME类型标识,然后通过ModelAndView传递给前端;在前端,使用Thymeleaf表达式将字符串插入到`&lt;img&gt;`标签的`...

Global site tag (gtag.js) - Google Analytics