将byte []数组转换为String 之 在Java中将String转换为byte []数组

学会byte []数组转换为字符串字符串转换为byte []数组在Java中使用的例子。字节数组和字符串之间的转换可能在许多情况下使用,包括IO操作,生成安全哈希等。

在绝对必要之前,请勿在字符串和字节数组之间进行转换。它们都代表不同的数据。并且有特定的用途,即字符串用于文本,byte []用于二进制数据。

1。 Java将byte []数组转换为String

1.1。字符串构造函数–新的String(byte [])

要将字节数组转换为String,您可以将String类构造函数与byte[]作为构造函数参数一起使用。

字节数组到字符串
byte[] bytes = "hello world".getBytes();
//Convert byte[] to String
String s = new String(bytes);
System.out.println(s);

输出:

安慰
hello world

1.2。Java 8中的Base64类

从Java 8开始,我们有了Base64类。

您可能已经知道– Base64是一种编码二进制数据的方法,而UTF-8和UTF-16是一种编码Unicode文本数据的方法。因此,如果您需要将任意二进制数据编码为文本,则可以使用Base64。

字节数组到字符串
byte[] bytes = "hello world".getBytes();
//Convert byte[] to String
String s = Base64.getEncoder().encodeToString(bytes);
System.out.println(s);

输出:

安慰
hello world

2。 Java将String转换为byte []

2.1。String.getBytes()方法

要将字符串转换为字节数组,请使用String.getBytes()方法。请注意,此方法使用平台的默认字符集

字节数组到字符串
//String
String string = "how2codex.com";
//Convert string to byte[]
byte[] bytes = string.getBytes();

2.2。Java 8中的Base64类

Base64.getDecoder()。decode()方法将字符串转换为字节数组。

字节数组到字符串
//String
String string = "how2codex.com";
//Base64 Decoded
byte[] bytes = Base64.getDecoder().decode(string);

3.总结

在Java中使用byte []数组

saigon has written 1445 articles

Leave a Reply