Java中 Byte[] 和 String相互转换

培训教学 潘老师 8个月前 (09-09) 457 ℃ (0) 扫码查看

通过示例学习在 Java 中将byte[] 数组转换为 String以及将 String 转换为 byte[] 数组。字节数组和字符串之间的转换可用于许多情况,包括 IO 操作、生成安全哈希等。

除非绝对必要,否则不要在字符串和字节数组之间进行转换。它们都代表不同的数据;它们有特定的用途,即字符串用于文本,byte[]用于二进制数据。

1.byte[]转String

1.1. 使用字符串构造函数

要将字节数组转换为String,您可以使用String类构造函数byte[]作为构造函数参数。

byte[] bytes = "hello world".getBytes();

String s = new String(bytes);

1.2. 使用Base64

从 Java 8 开始,我们提供了Base64类。您可能知道,Base64是一种编码二进制数据的方法,而 UTF-8 和 UTF-16 是编码 Unicode 文本数据的方法。因此,如果您需要将任意二进制数据编码为文本,Base64 是最佳选择。

byte[] bytes = "hello world".getBytes();

String s = Base64.getEncoder().encodeToString(bytes);

2.String转byte[]

2.1. 使用String.getBytes()

要将字符串转换为字节数组,请使用String.getBytes()方法。请注意,此方法使用平台的默认字符集

2.2. 使用Base64

Base64.getDecoder ().decode()方法将字符串转换为字节数组。

String string = "www.panziye.com";

byte[] bytes = Base64.getDecoder().decode(string);

三、总结

Java中byte[]数组和String之间转换时,我们应该关注输入数据类型。

  • 当您在字符串或文本内容中输入数据时,请使用 String 类。
  • 当您在字节数组中输入数据时,请使用 Base64 类。

版权声明:本站文章,如无说明,均为本站原创,转载请注明文章来源。如有侵权,请联系博主删除。
本文链接:https://www.panziye.com/teach/8943.html
喜欢 (0)
请潘老师喝杯Coffee吧!】
分享 (0)
用户头像
发表我的评论
取消评论
表情 贴图 签到 代码

Hi,您需要填写昵称和邮箱!

  • 昵称【必填】
  • 邮箱【必填】
  • 网址【可选】