Java - byte[] 和 String互相转换
通过用例学习Java中的byte数组和String互相转换,这种转换可能在很多情况需要,比如IO操作,生成加密hash码等等。
除非觉得必要,否则不要将它们互相转换,他们分别代表了不同的数据,专门服务于不同的目的,通常String代表文本字符串,byte数组针对二进制数据
通过String类将String转换成byte[]或者byte[]转换成String
用String.getBytes()方法将字符串转换为byte数组,通过String构造函数将byte数组转换成String
注意:这种方式使用平台默认字符集
package com.bill.example; public class StringByteArrayExamples {public static void main(String[] args) {//Original StringString string = "hello world"; //Convert to byte[]byte[] bytes = string.getBytes(); //Convert back to StringString s = new String(bytes); //Check converted string against original StringSystem.out.println("Decoded String : " + s);}}输出:hello world
通过Base64 将String转换成byte[]或者byte[]转换成String[Java 8]
可能你已经了解 Base64 是一种将二进制数据编码的方式,正如UTF-8和UTF-16是将文本数据编码的方式一样,所以如果你需要将二进制数据编码为文本数据,那么Base64可以实现这样的需求
从Java 8 开始可以使用Base64这个类
import java.util.Base64;public class StringByteArrayExamples {public static void main(String[] args) {//Original byte[]byte[] bytes = "hello world".getBytes(); //Base64 EncodedString encoded = Base64.getEncoder().encodeToString(bytes); //Base64 Decodedbyte[] decoded = Base64.getDecoder().decode(encoded); //Verify original contentSystem.out.println( new String(decoded) );}}
作者:Rui_Freely
来源链接:https://blog.csdn.net/qq_33263769/article/details/90209246
版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。
2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。