NIO支持多种字符编码以及解码,下面来测试一个编解码的小例子:
首先我们设置一下字符集,然后申请一段空间来存放字符,对这段字符先进行编码,然后解码查看效果,当然编解码的时候格式需要一致,不然会导致乱码的问题
@Test
public void test4() throws CharacterCodingException {
Charset cs1=Charset.forName("GBK");
//获取编码器
CharsetEncoder ce=cs1.newEncoder();
//获取解码器
CharsetDecoder cd=cs1.newDecoder();
CharBuffer cbuf=CharBuffer.allocate(1024);//申请1024字节的空间地址
cbuf.put("松鼠君");
cbuf.flip();//转化为读模式
//编码
ByteBuffer bBuf=ce.encode(cbuf);
for (int i=0;i<6;i++){
System.out.println(bBuf.get());
}
bBuf.flip();//转化为读模式
System.out.println(cd.decode(bBuf));
}