在 Java 中将二进制数据转换为字符串有几种不同的方式,下面我将为您列出这些方式并提供详细的步骤流程以及示例代码。请注意,以下示例中的依赖坐标是基于截至 2021 年 9 月的情况,可能会有所变化。
这种方法使用 Java 的标准库方法来将二进制数据转换为字符串。
步骤流程:
byte[]
数组中。new String(bytes)
构造函数将 byte[]
数组转换为字符串。示例代码:
public class BinaryToStringExample {
public static void main(String[] args) {
byte[] binaryData = { 0x48, 0x65, 0x6C, 0x6C, 0x6F, 0x2C, 0x20, 0x57, 0x6F, 0x72, 0x6C, 0x64 };
String result = new String(binaryData);
System.out.println(result); // Output: "Hello, World"
}
}
这种方法使用 Java 自带的 Base64 编码/解码功能来转换二进制数据为字符串。
步骤流程:
java.util.Base64
类。Base64.getEncoder().encodeToString(byteArray)
方法将 byte[]
数组转换为 Base64 编码的字符串。示例代码:
import java.util.Base64;
public class BinaryToStringBase64Example {
public static void main(String[] args) {
byte[] binaryData = { 0x48, 0x65, 0x6C, 0x6C, 0x6F, 0x2C, 0x20, 0x57, 0x6F, 0x72, 0x6C, 0x64 };
String result = Base64.getEncoder().encodeToString(binaryData);
System.out.println(result); // Output: "SGVsbG8sIFdvcmxk"
}
}
Maven:
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.3.1</version>
</dependency>
Gradle:
implementation 'javax.xml.bind:jaxb-api:2.3.1'
这种方法使用 Apache Commons Codec 库中的功能来进行 Base64 编码/解码。
步骤流程:
org.apache.commons.codec.binary.Base64
类。Base64.encodeBase64String(byteArray)
方法将 byte[]
数组转换为 Base64 编码的字符串。示例代码:
import org.apache.commons.codec.binary.Base64;
public class BinaryToStringCommonsCodecExample {
public static void main(String[] args) {
byte[] binaryData = { 0x48, 0x65, 0x6C, 0x6C, 0x6F, 0x2C, 0x20, 0x57, 0x6F, 0x72, 0x6C, 0x64 };
String result = Base64.encodeBase64String(binaryData);
System.out.println(result); // Output: "SGVsbG8sIFdvcmxk"
}
}
Maven:
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.15</version>
</dependency>
Gradle:
implementation 'commons-codec:commons-codec:1.15'
这些是将二进制数据转换为字符串的几种常见方法。您可以根据项目需求选择合适的方式。请确保在项目中使用最新版本的依赖库。