Java 基础教程

Java 面向对象

Java 高级教程

Java 笔记

Java FAQ

java byte数组转字符串


在 Java 中,将 byte 数组转换为字符串有多种方式,以下是一些常见的方法,包括使用标准库和第三方库的示例。首先,我们将介绍标准库的方法,然后是使用第三方库的方法。

方法 1:使用 String 构造函数

这是最简单的方法,通过使用 String 类的构造函数,将 byte 数组转换为字符串。

byte[] byteArray = {72, 101, 108, 108, 111}; // 示例byte数组
String str = new String(byteArray);
System.out.println(str); // 输出: Hello

方法 2:使用 Charset 进行编码转换

这种方法使用指定的字符集来编码 byte 数组。

byte[] byteArray = {72, 101, 108, 108, 111}; // 示例byte数组
Charset charset = Charset.forName("UTF-8"); // 指定字符集
String str = new String(byteArray, charset);
System.out.println(str); // 输出: Hello

方法 3:使用 Apache Commons Codec 库

Apache Commons Codec 库提供了更多的编码和解码选项。

首先,需要在项目中添加 Apache Commons Codec 的依赖:

Maven 依赖坐标:

<dependency>
    <groupId>commons-codec</groupId>
    <artifactId>commons-codec</artifactId>
    <version>1.15</version> <!-- 根据最新版本选择 -->
</dependency>

Gradle 依赖坐标:

implementation 'commons-codec:commons-codec:1.15' // 根据最新版本选择

然后,使用库中的方法进行 byte 数组到字符串的转换:

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

byte[] byteArray = {72, 101, 108, 108, 111}; // 示例byte数组
String str = StringUtils.newStringUtf8(byteArray); // 使用UTF-8字符集
System.out.println(str); // 输出: Hello

方法 4:使用 Guava 库

Google 的 Guava 库也提供了 byte 数组到字符串的转换方法。

首先,需要在项目中添加 Guava 的依赖:

Maven 依赖坐标:

<dependency>
    <groupId>com.google.guava</groupId>
    <artifactId>guava</artifactId>
    <version>30.1-jre</version> <!-- 根据最新版本选择 -->
</dependency>

Gradle 依赖坐标:

implementation 'com.google.guava:guava:30.1-jre' // 根据最新版本选择

然后,使用库中的方法进行 byte 数组到字符串的转换:

import com.google.common.base.Charsets;
import com.google.common.io.BaseEncoding;

byte[] byteArray = {72, 101, 108, 108, 111}; // 示例byte数组
String str = BaseEncoding.base64().encode(byteArray); // 使用Base64编码
System.out.println(str); // 输出: SGVsbG8=

这些是将 byte 数组转换为字符串的一些常见方法,你可以根据你的需求选择其中一种方法。请确保根据你的项目需要添加适当的依赖。