Java中char和byte转换
方式一:同一个类Charset 中完成编解码操作
Charset charset = Charset.forName("UTF-8");
ByteBuffer byteBuffer = charset.encode(string);
CharBuffer charBuffer = charset.decode(byteBuffer);
方式二:同一个类ByteBuffer中提供一种char和byte之间的软转换
它们之间转换不需要编码与解码,只是把一个16bit的char拆分成为2个8bit的byte表示,它们的实际值并没有被修改,仅仅是数据的类型做了转换,如下代码所示:
ByteBuffer heapByteBuffer = ByteBuffer.allocate(1024);
ByteBuffer byteBuffer = heapByteBuffer.putChar(c);
以上这些提供字符和字节之间的相互转换方法,只要我们设置编解码格式统一,一般都不会出现问题。