首页 > 其他分享 >图片Base64相互转换

图片Base64相互转换

时间:2023-12-17 19:45:05浏览次数:25  
标签:编码 转换 String Base64 java public 图片

 

一、简介

 

Base64编码是一种广泛应用于网络传输和数据存储的编码方式。在实际应用中,我们将图片转换为Base64编码,可以大大减少数据量,便于传输和存储。本文将详细介绍图片Base64编码的相互转换方法及其原理。

 

图片Base64相互转换 | 一个覆盖广泛主题工具的高效在线平台(amd794.com)

 

https://amd794.com/img2base64

 

二、图片Base64编码转换

 

  1. 将图片转换为Base64编码

 

要将图片转换为Base64编码,我们可以使用Java的org.apache.commons.codec.binary.Base64类。以下是一个简单的示例:

 

  java

 

import org.apache.commons.codec.binary.Base64;

public class ImageToBase64 {
    public static void main(String[] args) {
        String imagePath = "path/to/your/image.jpg";
        String base64String = getBase64StringFromImage(imagePath);
        System.out.println("Base64编码后的字符串:" + base64String);
    }

    public static String getBase64StringFromImage(String imagePath) {
        byte[] data = null;
        try {
            data = readImageBytes(imagePath);
        } catch (IOException e) {
            e.printStackTrace();
        }
        return new String(Base64.encodeBase64(data));
    }

    private static byte[] readImageBytes(String imagePath) throws IOException {
        InputStream in = new FileInputStream(imagePath);
        byte[] data = new byte[(int) in.length()];
        in.read(data);
        in.close();
        return data;
    }
}

 

  1. 将Base64编码转换为图片

 

将Base64编码转换为图片,我们可以使用Java的java.base64类。以下是一个简单的示例:

 

  java

 

import java.base64.Base64;
import java.io.File;
import java.io.IOException;

public class Base64ToImage {
    public static void main(String[] args) {
        String base64String = "your_base64_string_here";
        String outputPath = "path/to/your/output/image.jpg";
        saveBase64AsImage(base64String, outputPath);
    }

    public static void saveBase64AsImage(String base64String, String outputPath) {
        byte[] decodedBytes = Base64.getDecoder().decode(base64String);
        File outputFile = new File(outputPath);
        try (FileOutputStream out = new FileOutputStream(outputFile)) {
            out.write(decodedBytes);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

 

三、总结

 

本文通过示例代码,详细介绍了图片Base64编码的相互转换方法。在实际应用中,我们可以根据需求,灵活运用这些方法,实现图片的Base64编码和解码。图片Base64编码的转换在网络传输和数据存储方面具有广泛的应用价值,希望本文能为您提供一定的帮助。

 

标签:编码,转换,String,Base64,java,public,图片
From: https://www.cnblogs.com/Amd794/p/17909637.html

相关文章

  • js实现以鼠标为中心缩放图片
    直接上代码,不解释<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>Document</tit......
  • Qt/C++音视频开发60-坐标拾取/按下鼠标获取矩形区域/转换到视频源真实坐标
    一、前言通过在通道画面上拾取鼠标按下的坐标,然后鼠标移动,直到松开,根据松开的坐标和按下的坐标,绘制一个矩形区域,作为热点或者需要电子放大的区域,拿到这个坐标区域,用途非常多,可以直接将区域中的画面放大,也可以将该圈起来的区域位置发给设备,由设备设定对应的热点区域作为集中观察点......
  • 图片预加载
    前端实现图片的预加载,其实是利用了浏览器的缓存,我们通过a标签来提前加载图片,如下:constimg=newImage()img.src='链接'img.onload=function(){console.log('加载完成')}在实际的业务中,需求不同,加载的策略不尽相同。场景一:贪婪加载刚进入页面有loadin......
  • 汉源高科30路32路电话光端机 PCM语音电话光纤收发器 光电转换器
    32路电话光端机HY-32P是汉源高科(北京)科技有限公司采用自主知识产权的大规模集成电路,应用时分复用技术,将以太网信号和电话信号混合编码后在一对光纤上传输。实现热线电话业务传输,传输通道为光传输通道。该机采用1U机架式设计,集成度高,体积小,功耗低,工作可靠,安装使用方便。主要功能与特......
  • C# OCR图片文字识别
    博主这里采用了两种库进行文字识别,一种是“Spire.OCR”,另一种是“PaddleOCRSharp”,这两种库,都可以直接到Nuget中去安装。 这里要注意一下,PaddleOCRSharp库是可以直接安装使用的,但是Spire.OCR库在安装后,需要将下载目录“nuget\packages\spire.ocr\1.8.0\runtimes\win-x64\nativ......
  • 【纯手工打造】时间戳转换工具(python)
    1.背景最近发现一个事情,如果日志中的时间戳,需要我们转换成时间,增加可读性。或者将时间转换成时间戳,来配置时间。相信大多人和我一样,都是打开网页,搜索在线时间戳转换工具,然后复制粘贴进去。个人认为可以手工打造一个python版本的时间戳转换工具,来解放双手,减少打开网页的时间,于是乎......
  • Java 字符串、数组、ArrayList转换
    Java字符串、数组、ArrayList之间的相互转换 数组转字符串importjava.util.Arrays;publicclassTest02{publicstaticvoidmain(String[]args){int[]scores1=newint[]{10,20,30,40,50};int[]scores2={10,20,30,40,50};//数......
  • [转]JDK1.6和jdk8实现BASE64编解码的API
    原文出处: 成熟的毛毛虫的博客BASE64编码是一种常用的字符编码,在很多地方都会用到。但base64不是安全领域下的加密解密算法。能起到安全作用的效果很差,而且很容易破解,他核心作用应该是传输数据的正确性,有些网关或系统只能使用ASCII字符。Base64就是用来将非ASCII字符的数据转换......
  • css 让多张图片并排显示
    .container{  display:flex;  justify-content:space-between; }   .img-wrapper{  width:30%; }   .img-wrapperimg{  width:100%;  height:auto; }首先,我们需要给图片所在的容器设置一个display:flex属性,这样三张图片......
  • 数据表转换为分类Excel(if语句)
    switch/case组件:使用kettle的组件swich/case对原有表进行条件判断,分类:需求:表输入switch/case分类出2个Excel表格:第一步:构建数据流图:如果方向不对,可以进行反转方向:一:表输入:选定对应的表内容:选择t_phoneinfo表二:编辑条件控制switch/case按住shift键,将组件按照下图方式连......