首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Android 圖片轉 Base64 字符串:Bitmap.compress 到 ByteArrayOutputStream 再 Base64.encodeToString

     編輯:程式設計綜合問答

將 Bitmap 壓縮為 PNG/JPEG 字節數組,再用 Base64.encodeToString 編碼為字符串,便於網絡傳輸或 JSON 嵌入。

標準工具方法

public String bitmapToBase64(Bitmap bitmap) {
    if (bitmap == null) return "";
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    // PNG 無損,JPEG 有損壓縮質量 0-100
    bitmap.compress(Bitmap.CompressFormat.PNG, 100, baos);
    byte[] bytes = baos.toByteArray();
    return Base64.encodeToString(bytes, Base64.DEFAULT);
}

// 使用
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.image);
String base64 = bitmapToBase64(bitmap);
// 發送到服務器或存儲

關鍵點

  • compress(format, quality, stream):quality 僅對 JPEG 生效,PNG 忽略。
  • Base64.DEFAULT 標準編碼,含換行;Base64.NO_WRAP 無換行(推薦網絡傳輸)。
  • 大圖編碼後字符串極長,注意內存與傳輸大小,必要時縮放壓縮。

解碼還原

byte[] decoded = Base64.decode(base64, Base64.DEFAULT);
Bitmap bitmap = BitmapFactory.decodeByteArray(decoded, 0, decoded.length);

三行代碼完成圖片 Base64 雙向轉換,業務集成零負擔。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved