- byte[] 转 String:
在Java中,将byte[]转换成String有两种方式。
第一种方式是使用String类中的构造函数,将byte[]数组作为参数传入,代码示例如下:
java
byte[] bytes = new byte[]{97, 98, 99};
String str = new String(bytes);
System.out.println(str); // 输出:abc
第二种方式是使用Java自带的Base64编码方式将byte[]转换成String。Base64是一种用64个字符来表示任意二进制数据的方法,可以将二进制数据转换成可打印字符。下面是示例代码:
java
byte[] bytes = new byte[]{97, 98, 99};
String str = Base64.getEncoder().encodeToString(bytes);
System.out.println(str); // 输出:YWJj
- String 转 byte[]:
在Java中,将String转换成byte[]有两种方式。
第一种方式是使用String类中的getBytes()方法,该方法可以将String转换成byte[],代码示例如下:
java
String str = "abc";
byte[] bytes = str.getBytes();
System.out.println(Arrays.toString(bytes)); // 输出:[97, 98, 99]
第二种方式是使用Java自带的Base64编码方式将String转换成byte[]。前面提到过,Base64编码方式可以将二进制数据转换成可打印字符,同样也可以将可打印字符转换成二进制数据。示例代码如下:
java
String str = "YWJj";
byte[] bytes = Base64.getDecoder().decode(str);
System.out.println(Arrays.toString(bytes)); // 输出:[97, 98, 99]
注意:使用Base64编码方式进行转换时,需要将原字符串先进行Base64编码,再进行解码操作。
总结:
byte[]和String之间的转换需要注意编码的问题,避免出现乱码。在使用Base64编码方式进行转换时,需要先进行编码操作,再进行解码操作。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:关于Java中byte[] 和 String互相转换问题 - Python技术站