以下是关于“Java中3种将byte转换为String的方法”的完整攻略,包含两个示例:
方法1:使用String类的构造函数
可以使用String类的构造函数将byte数组转换为String。例如:
byte[] byteArray = { 97, 98, 99, 100 };
String str = new String(byteArray);
System.out.println(str);
上述代码将byte数组byteArray
转换为String,并输出结果为abcd
。
方法2:使用Base64编码
可以使用Base64编码将byte数组转换为String。例如:
byte[] byteArray = {97, 98, 99, 100 };
String str = Base64.getEncoder().encodeToString(byteArray);
System.out.println(str);
上述代码将byte数组byteArray
使用Base64编码转换为String,并输出结果为YWJjZA==
。
方法3:使用Hex编码
可以使用Hex编码将byte数组转换为String。例如:
byte[] byteArray = { 97, 98, 99, 100 };
String str = DatatypeConverter.printHexBinary(byteArray);
System.out.println(str);
上述代码将byte数组byteArray
使用Hex编码转换为String,并输出结果为61626364
。
示例1:使用String类的构造函数将byte数组转换为String
以下是一个示例,演示了如何使用String类的构造函数将byte数组转换为String:
byte[] byteArray = { 72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100 };
String str = new String(byteArray);
System.out.println(str);
上述代码将byte数组byteArray
转换为String,并输出结果为Hello World
。
示例2:使用Base64编码将byte数组转换为String
以下是另一个示例,演示了如何使用Base64编码将byte数组转换为String:
byte[] byteArray = { 72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100 };
String str = Base64.getEncoder().encodeToString(byteArray);
System.out.println(str);
上述代码将byte数组byteArray
使用Base64编码转换为String,并输出结果为SGVsbG8gV29ybGQ=
。
总结
Java中有三种将byte数组转换为String的方法:使用String类的构造函数、使用Base64编码和使用Hex编码。使用String类的构造函数是最简单的方法,但可能会导致编码问题。使用Base64编码可以确保编码正确性,但会增加字符串长度。使用Hex编码可以确保编码正确性,但会使字符串长度增加一倍。在实际应用中,应根据具体情况选择合适的方法。