栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Java ByteBuffer转换为字符串

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java ByteBuffer转换为字符串

编辑(2018): @xinyongCheng编辑的同级答案是一种更简单的方法,应该被接受。

如果您知道字节在平台的默认字符集中,则您的方法将是合理的。在您的示例中,这是正确的,因为

k.getBytes()
返回平台默认字符集中的字节。

更常见的是,您需要指定编码。但是,有一种比链接的问题更简单的方法。String API提供了以特定编码在String和byte
[]数组之间转换的方法。这些方法建议 “当需要对解码[encoding]过程进行更多控制时, 使用CharsetEnprer /
CharsetDeprer ”。

要以特定编码从字符串中获取字节,可以使用同级的getBytes()方法:

byte[] bytes = k.getBytes( StandardCharsets.UTF_8 );

要将具有特定编码的字节放入String中,可以使用其他String构造函数:

String v = new String( bytes, StandardCharsets.UTF_8 );

请注意,这

ByteBuffer.array()
是可选操作。如果您使用数组构造了ByteBuffer,则可以直接使用该数组。否则,如果您想安全起见,可使用
ByteBuffer.get(byte[]dst, int offset, int length)
将该字节从缓冲区中获取到字节数组中。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/446610.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号