Java Base64位编码与String字符串的相互转换,Base64与Bitmap的相互转换实例代码

Java中提供了Base64类用于编码和解码base64字符串,通过该类我们可以实现字符串和base64编码之间的相互转换,下面是详细的攻略:

Base64位编码与String字符串的相互转换

编码

在Java中,我们可以使用java.util.Base64类的getEncoder()方法获取Base64编码器,通过调用该对象的encodeToString()方法就可以将普通字符串进行Base64编码:

import java.util.Base64;

public class Base64Demo {
    public static void main(String[] args) {
        String str = "hello world";
        String base64Str = Base64.getEncoder().encodeToString(str.getBytes());
        System.out.println("普通字符串:" + str);
        System.out.println("Base64编码后字符串:" + base64Str);
    }
}

输出结果为:

普通字符串:hello world
Base64编码后字符串:aGVsbG8gd29ybGQ=

解码

同样地,我们可以使用java.util.Base64类的getDecoder()方法获取Base64解码器,然后调用decode()方法对Base64编码后的字符串进行解码:

import java.util.Base64;

public class Base64Demo {
    public static void main(String[] args) {
        String base64Str = "aGVsbG8gd29ybGQ=";
        byte[] bytes = Base64.getDecoder().decode(base64Str);
        String str = new String(bytes);
        System.out.println("Base64编码后字符串:" + base64Str);
        System.out.println("普通字符串:" + str);
    }
}

输出结果为:

Base64编码后字符串:aGVsbG8gd29ybGQ=
普通字符串:hello world

Base64与Bitmap的相互转换

在Android应用中,我们常常需要将图片转换成Base64编码字符串进行网络传输,或者将Base64编码字符串转换成图片进行展示。下面是示例代码:

Bitmap转Base64编码字符串

import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.util.Base64;

import java.io.ByteArrayOutputStream;

public class BitmapUtil {
    public static String bitmapToBase64(Bitmap bitmap) {
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        bitmap.compress(Bitmap.CompressFormat.PNG, 100, baos);
        byte[] bytes = baos.toByteArray();
        return Base64.encodeToString(bytes, Base64.DEFAULT);
    }

    public static Bitmap base64ToBitmap(String base64Str) {
        byte[] bytes = Base64.decode(base64Str, Base64.DEFAULT);
        return BitmapFactory.decodeByteArray(bytes, 0, bytes.length);
    }
}

使用示例:

Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.test_image);
String base64Str = BitmapUtil.bitmapToBase64(bitmap);

Base64编码字符串转Bitmap

import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.util.Base64;

public class BitmapUtil {
    public static Bitmap base64ToBitmap(String base64Str) {
        byte[] bytes = Base64.decode(base64Str, Base64.DEFAULT);
        return BitmapFactory.decodeByteArray(bytes, 0, bytes.length);
    }

    public static String bitmapToBase64(Bitmap bitmap) {
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        bitmap.compress(Bitmap.CompressFormat.PNG, 100, baos);
        byte[] bytes = baos.toByteArray();
        return Base64.encodeToString(bytes, Base64.DEFAULT);
    }
}

使用示例:

Bitmap bitmap = BitmapUtil.base64ToBitmap(base64Str);

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java Base64位编码与String字符串的相互转换,Base64与Bitmap的相互转换实例代码 - Python技术站

(0)
上一篇 2023年5月20日
下一篇 2023年5月20日

相关文章

  • Mac系统中Apache Tomcat安装配置

    下面是 “Mac系统中Apache Tomcat安装配置” 的完整攻略: 准备工作 在开始安装和配置Apache Tomcat之前,需要确保你的Mac系统上已经安装了Java环境。同时,你需要知道以下几个信息: Apache Tomcat的版本号(例如8.5.65) Apache Tomcat的安装路径(例如/usr/local/tomcat) 安装Apac…

    Java 2023年5月19日
    00
  • 微信小程序后端Java接口开发的详细步骤

    下面是微信小程序后端Java接口开发的详细步骤: 准备工作 在微信公众平台注册小程序,并获取小程序的 AppID。 在小程序后台设置服务器域名以及接口请求白名单。 在服务器上安装 JDK、Tomcat、Maven,并启动 Tomcat 服务。 选择适合自己的 Spring Boot 或者其他 Java 后端框架。 开发过程 创建项目:使用 Maven 创建项…

    Java 2023年5月23日
    00
  • 用于提取网易文件的hta代码

    为了提取网易文件,我们需要将其下载到本地。这个过程可以通过使用.hta文件来完成,它是一种HTML应用程序,用于在本地系统上运行脚本和批处理命令。本教程将向您展示如何利用.hta文件来提取网易云的音乐文件。 步骤一:新建HTA文件 我们先新建一个.hta文件,比如说我们把文件名命名为music.hta。然后在文件中输入以下代码。 <!DOCTYPE h…

    Java 2023年6月15日
    00
  • 两种java实现二分查找的方式

    下面是详细讲解“两种java实现二分查找的方式”的攻略。 一、二分查找基本算法 二分查找算法的基本思想是:在一个有序数组中,查找一个元素,先找到数组的中间元素,然后将要查找的元素和中间元素进行比较,如果相等则直接返回中间元素,如果大于则在中间元素的右半部分继续查找,如果小于则在中间元素的左半部分继续查找,如此循环直到找到要查找的元素或者找不到为止。 Java…

    Java 2023年5月19日
    00
  • Java中输出字符的ASCII值实例

    下面是详细的“Java中输出字符的ASCII值实例”的攻略。 1. 什么是ASCII码 首先我们需要了解,ASCII码是美国信息交换标准代码(American Standard Code for Information Interchange)的缩写,是一个基于26个英文字母的编码系统,用于在计算机和其他设备之间传输文本信息和二进制数据。大多数现代计算机编程…

    Java 2023年5月26日
    00
  • 使用java采集京东商城行政区划数据示例

    下面是使用Java采集京东商城行政区划数据的完整攻略: 1. 准备 首先需要准备一些工具和资源,包括: JDK 1.8及以上版本 Maven IntelliJ IDEA或Eclipse Jsoup 其中,JDK是Java开发必备的工具,版本需要在1.8及以上,Maven可以管理项目中的依赖,IntelliJ IDEA/Eclipse是Java开发中常用的ID…

    Java 2023年5月20日
    00
  • Maven打包没有指定主类问题(xxx.jar中没有主清单属性)

    Maven是Java项目管理工具之一。当使用Maven打包项目时,有时会遇到没有指定主类问题,即在xxx.jar中没有主清单属性的错误。这时候,我们就需要手动指定主类。 以下是指定Maven项目主类的完整攻略,步骤如下: 步骤 1:在pom.xml中指定打包方式 首先,我们需要在pom.xml中指定打包方式为可执行的Jar包。这可以通过在pom.xml文件中…

    Java 2023年5月19日
    00
  • SpringBoot如何获取Kafka的Topic列表

    获取Kafka的Topic列表是使用SpringBoot操作Kafka时常用的功能。下面是一些步骤和示例,帮助你深入了解如何获取Kafka的Topic列表。 导入依赖 在使用SpringBoot操作Kafka之前,需要在项目的pom.xml中加入相应的依赖。Kafka自身提供了一些Java客户端。SpringBoot的Kafka集成则在这些客户端的基础上提供…

    Java 2023年5月20日
    00
合作推广
合作推广
分享本页
返回顶部