在 Java 中,字符串和字节数组之间的转换是非常常见的操作。字符串是由字符组成的序列,而字节数组则是由字节组成的序列。在某些情况下,我们可能需要将字符串转换为字节数组或者将字节数组转换为字符串。本章节将介绍如何在 Java 中进行这两种操作。
字符串转为字节数组
要将字符串转换为字节数组,可以使用字符串的 getBytes()
方法。该方法将字符串转换为字节数组,可以指定使用的字符编码。如果不指定字符编码,则使用平台默认的字符编码。
示例代码如下:
String str = "Hello, World!"; byte[] byteArray = str.getBytes(); System.out.println(Arrays.toString(byteArray));
在上面的示例中,我们将字符串 "Hello, World!" 转换为字节数组,并使用 Arrays.toString()
方法将字节数组打印出来。
字节数组转为字符串
要将字节数组转换为字符串,可以使用字符串的构造函数或者 String
类的 valueOf()
方法。如果知道字节数组的字符编码,可以在构造字符串时指定字符编码。
示例代码如下:
byte[] byteArray = {72, 101, 108, 108, 111, 44, 32, 87, 111, 114, 108, 100, 33}; String str1 = new String(byteArray); String str2 = new String(byteArray, StandardCharsets.UTF_8); String str3 = String.valueOf(byteArray, StandardCharsets.UTF_8); System.out.println(str1); System.out.println(str2); System.out.println(str3);
在上面的示例中,我们创建了一个字节数组 {72, 101, 108, 108, 111, 44, 32, 87, 111, 114, 108, 100, 33}
,然后将其转换为字符串,并打印出来。第二种方法使用了字符编码 UTF-8。
以上就是 Java 中字符串转为字节数组和字节数组转为字符串的方法。在实际编程中,根据具体需求选择合适的方法进行转换。