Java byte转string全面解析
- 编程知识
- 2023-05-26
- 9
Java byte 与 string 均为 Java 编程中常见的数据类型。 byte 类型用于表示一个八位二进制数,可以存储整数值范围为 -128~127。string 类型用于表示字符串,即一串字符序列。
一、Java byte 转 string
在 Java 编程中,byte 与 string 之间的转换是常见的操作。下面使用示例代码来详细介绍如何进行 byte 转 string 操作。
1、byte 转 string 的方式一:使用 String.valueOf()
byte b = 65;
String s = String.valueOf(b);
System.out.println(s); // Output: "65"
使用 String.valueOf() 方法可以将 byte 变量转换为 string 类型。该方法将 byte 类型参数作为字符数组处理并返回其表示的字符串。
2、byte 转 string 的方式二:使用 Byte.toString()
byte b = 65;
String s = Byte.toString(b);
System.out.println(s); // Output: "65"
使用 Byte.toString() 方法也可以将 byte 变量转换为 string 类型。该方法将 byte 类型参数作为整数值处理并返回其表示的字符串。
3、byte 转 string 的方式三:使用 new String()
byte[] bytes = {65, 66, 67};
String s = new String(bytes);
System.out.println(s); // Output: "ABC"
使用 new String() 构造函数也可以将 byte 数组转换为 string 类型。该构造函数将 byte 数组作为字符序列处理并返回其表示的字符串。
二、string 转 byte 数组
在 Java 编程中,string 转换为 byte 数组也是常见的操作。下面使用示例代码介绍如何进行 string 转 byte 数组操作。
1、string 转 byte 数组的方式一:使用 String.getBytes()
String s = "Hello World";
byte[] bytes = s.getBytes();
System.out.println(Arrays.toString(bytes)); // Output: "[72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100]"
使用 String.getBytes() 方法可以将 string 类型转换为 byte 数组类型。该方法将 string 类型参数按照指定字符集编码处理,并以 byte 数组形式返回其表示的数据。
2、string 转 byte 数组的方式二:使用 Base64 编码
import java.util.Base64;
String s = "Hello World";
byte[] bytes = s.getBytes();
String encoded = Base64.getEncoder().encodeToString(bytes);
byte[] decoded = Base64.getDecoder().decode(encoded);
System.out.println(Arrays.toString(decoded)); // Output: "[72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100]"
使用 Base64 编解码也可以将 string 类型转换为 byte 数组类型。该编解码方式可以处理二进制数据,适用于在网络上传输或存储时。
三、byte 数组转换为十六进制字符串
在 Java 编程中,byte 数组转换为十六进制字符串也是常见的操作。下面使用示例代码介绍如何进行 byte 数组转换为十六进制字符串操作。
1、byte 数组转换为十六进制字符串的方式一:使用 StringBuilder
byte[] bytes = {10, 11, 12, 13, 14, 15};
StringBuilder sb = new StringBuilder();
for (byte b : bytes) {
sb.append(String.format("%02X", b));
}
String hex = sb.toString();
System.out.println(hex); // Output: "0A0B0C0D0E0F"
使用 StringBuilder 类可以将 byte 数组转换为十六进制字符串。该方法遍历 byte 数组,将每个 byte 类型值转换为大写的十六进制数字字符串,并拼接在一起。
2、byte 数组转换为十六进制字符串的方式二:使用 Byte.toUnsignedInt()
byte[] bytes = {10, 11, 12, 13, 14, 15};
String hex = "";
for (byte b : bytes) {
hex += String.format("%02X", Byte.toUnsignedInt(b));
}
System.out.println(hex); // Output: "0A0B0C0D0E0F"
使用 Byte.toUnsignedInt() 方法也可以将 byte 数组转换为十六进制字符串。该方法将 byte 类型参数转换为无符号的整数值,并返回其十六进制字符串表示。
四、小结
本文介绍了 Java 编程中常见的 byte 和 string 类型之间的转换及 byte 数组的转换操作。对于开发者来说,合理运用这些操作可以提高代码编写效率,并增加程序的可读性。