日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

20141203图片Base64编码与解码

發(fā)布時(shí)間:2025/3/20 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 20141203图片Base64编码与解码 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

最近需要將圖片通過(guò)轉(zhuǎn)碼的形式傳給移動(dòng)端,使用了Base64轉(zhuǎn)碼與 解碼

?

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 Text4 {

public static void main(String[] args) {

????????????? String strImg = GetImageStr();

????????????? System.out.println(strImg);

????????????? System.out.println(strImg.length());

????????????? GenerateImage(strImg);

}

// 圖片轉(zhuǎn)化成base64字符串

public static String GetImageStr() {// 將圖片文件轉(zhuǎn)化為字節(jié)數(shù)組字符串,并對(duì)其進(jìn)行Base64編碼處理

????????????? String imgFile = "C:/1.jpg";// 待處理的圖片

????????????? InputStream in = null;

????????????? byte[] data = null;

????????????? // 讀取圖片字節(jié)數(shù)組

????????????? try {

????????????? in = new FileInputStream(imgFile);

????????????? data = new byte[in.available()];

????????????? in.read(data);

????????????? in.close();

????????????? } catch (IOException e) {

????????????? e.printStackTrace();

}

????????????? // 對(duì)字節(jié)數(shù)組Base64編碼

????????????? BASE64Encoder encoder = new BASE64Encoder();

????????????? return encoder.encode(data);// 返回Base64編碼過(guò)的字節(jié)數(shù)組字符串

????????????? }

?????????????

????????????? // base64字符串轉(zhuǎn)化成圖片

????????????? public static boolean GenerateImage(String imgStr) { // 對(duì)字節(jié)數(shù)組字符串進(jìn)行Base64解碼并生成圖片

????????????? if (imgStr == null) // 圖像數(shù)據(jù)為空

????????????? 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) {// 調(diào)整異常數(shù)據(jù)

????????????? b[i] += 256;

????????????? }

????????????? }

????????????? // 生成jpeg圖片

????????????? String imgFilePath = "C:/UserImg/xgk2059/111.jpg";// 新生成的圖片

????????????? OutputStream out = new FileOutputStream(imgFilePath);

????????????? System.out.println("==============================");

????????????? out.write(b);

????????????? out.flush();

????????????? out.close();

????????????? return true;

????????????? } catch (Exception e) {

????????????? return false;

????????????? }

}

}

?

?

轉(zhuǎn)載于:https://www.cnblogs.com/xugongkai/p/4977080.html

總結(jié)

以上是生活随笔為你收集整理的20141203图片Base64编码与解码的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。