一、什么是String和Byte?
在开始讨论String和Byte之间的转换前,先介绍一下这两个概念。
String是Java中常见的字符串类型,用于存储文本数据。它是不可变的,即在创建后其值不能被改变。举个例子:
String str = "Hello World";
Byte是Java中的基本数据类型之一,用于表示8位二进制数,即字节。它是有符号的,即可以表示正数和负数。举个例子:
byte b = 10;
二、String转Byte
1、将String转换为Byte数组
将String转换为Byte数组是将字符串中的每个字符转换为对应的Byte值的过程。这个过程可以使用getBytes()方法来实现。这个方法可以传入一个字符编码格式的参数,例如:
String str = "Hello World"; byte[] bytes = str.getBytes("UTF-8");
在上面的例子中,我们将字符串"Hello World"转换成UTF-8编码的字节数组。
2、将String转换为单个Byte值
将String转换为单个Byte值是将字符串中的第一个字符对应的Byte值提取出来的过程。这个过程可以使用String类中的charAt()方法和强制类型转换来实现。例如:
String str = "Hello World"; byte b = (byte) str.charAt(0);
在上面的例子中,我们将字符串"Hello World"的第一个字符'H'转换成了对应的Byte值。
三、Byte转String
1、将Byte数组转换为String
将Byte数组转换为String是将Byte数组中的每个元素表示的Byte值转换成对应的字符,并将这些字符拼接成一个字符串的过程。这个过程可以使用String类中的构造函数来实现。例如:
byte[] bytes = {72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100}; String str = new String(bytes, "UTF-8");
在上面的例子中,我们将一个UTF-8编码的字节数组转换成了字符串"Hello World"。
2、将单个Byte值转换为String
将单个Byte值转换为String是将Byte值对应的字符表示成字符串的过程。这个过程可以使用String类中的valueOf()方法来实现。例如:
byte b = 72; String str = String.valueOf(b);
在上面的例子中,我们将Byte值72表示成了字符串"H"。
四、示例代码
1、将String转换为Byte数组
String str = "Hello World"; byte[] bytes = str.getBytes("UTF-8"); for (byte b : bytes) { System.out.print(b + " "); } // 输出结果:72 101 108 108 111 32 87 111 114 108 100
2、将String转换为单个Byte值
String str = "Hello World"; byte b = (byte) str.charAt(0); System.out.println(b); // 输出结果:72
3、将Byte数组转换为String
byte[] bytes = {72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100}; String str = new String(bytes, "UTF-8"); System.out.println(str); // 输出结果:Hello World
4、将单个Byte值转换为String
byte b = 72; String str = String.valueOf(b); System.out.println(str); // 输出结果:H