char[]与byte[]相互转换

char[]与byte[]相互转换

Charset类

Charset提供encode与decode分别对应char[]到byte[]的编码和byte[]到char[]的解码,具体代码如下:

Chaeset charset=Charset.forName("UTF-8");
ByteBuffer byteBuffer=charset.encode(String);//why string?
byte[] ba=byteBuffer.array();//转化成byte[]
CharBuffer charBuffer=charset.decode(byteBuffer);
char[] ca=charBuffer.array();//转化成char[]

这里编码与解码都在一个类中完成,通过 forName 设置编解码字符集,这样更容易统一编码格式。

ByteBuffer 类

ByteBuffer类提供一种char和byte之间的软转换(char转byte),他们之间转换不需要编码与解码,只是把一个16bit的char拆分成两个8bit的byte表示,他们的实际值并没有被修改,仅仅是数据类型做了转换。具体代码如下:

ByteBuffer heapByteBuffer=ByteBuffer.allocate(1024);
ByteBuffer byteBuffer=heapByteBuffer.putChar(c);//c为char[]
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值