byte[] bytes转换成字符串
时间: 2023-09-09 10:07:52 浏览: 47
将byte数组转换成字符串可以使用Java中的String构造函数或者String类的静态方法valueOf。例如:
```java
byte[] bytes = {72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100};
String str = new String(bytes);
System.out.println(str); // 输出:Hello World
String str2 = String.valueOf(bytes);
System.out.println(str2); // 输出:[B@1f32e575
```
第一个例子中,我们使用了String构造函数将byte数组转换成了字符串。在这个例子中,我们假设byte数组中的每个元素代表一个ASCII码字符。
第二个例子中,我们使用了String类的静态方法valueOf。这种方法会返回byte数组的内存地址的字符串表示,所以它的输出看起来不太对。
相关问题
把byte数组转化成2进制字符串
可以使用Java内置的方法将byte数组转换成2进制字符串,示例代码如下:
```java
public static String byteArrayToBinaryString(byte[] bytes) {
StringBuilder binaryString = new StringBuilder();
for (byte b : bytes) {
binaryString.append(byteToBinaryString(b));
}
return binaryString.toString();
}
```
该方法首先定义了一个StringBuilder对象来存储2进制字符串,然后通过一个循环,将byte数组中的每一个元素逐一传递给`byteToBinaryString()`方法进行转换,再将转换后的结果附加到StringBuilder对象上,最终返回转化后的2进制字符串。需要注意的是,在调用该方法之前,需要先定义一个`byteToBinaryString()`方法,可以参考我在上一个问题中的回答。
字符串如何转化成byte[]
在Java中,可以使用字符串对象的`getBytes()`方法将字符串转换为字节数组。该方法将字符串转换为一个新的字节数组,其中每个字符被编码为一个或多个字节,具体编码方式取决于指定的字符集。例如,以下代码将字符串转换为UTF-8编码的字节数组:
```
String str = "Hello, world!";
byte[] bytes = str.getBytes("UTF-8");
```
此时,变量`bytes`中存储的就是UTF-8编码下的字节数组。如果需要使用其他字符集进行编码,只需要将`getBytes()`方法中的参数修改为相应的字符集名称即可。