java Base64
s
Base64Test.java
https://www.cnblogs.com/mr-wuxiansheng/p/6931034.html
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | package com.iteye.lindows.base64; 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 { // 图片转化成base64字符串 public static String GetImageStr() { // 将图片文件转化为字节数组字符串,并对其进行Base64编码处理 String imgFile = "C:\\Users\\Lindows\\Desktop\\png.png" ; // 待处理的图片 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:\\Users\\Lindows\\Desktop\\png2.jpg" ; // 新生成的图片 OutputStream out = new FileOutputStream(imgFilePath); out.write(b); out.flush(); out.close(); return true ; } catch (Exception e) { return false ; } } public static void main(String[] args) { String strImg = Base64Test.GetImageStr(); System.out.println(strImg); Base64Test.GenerateImage(strImg); } } |
end
分类:
Java
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义