nio的字符集对象

 1 package edzy.nio;
 2 
 3 import org.junit.Test;
 4 
 5 import java.io.UnsupportedEncodingException;
 6 import java.nio.ByteBuffer;
 7 import java.nio.CharBuffer;
 8 import java.nio.charset.CharacterCodingException;
 9 import java.nio.charset.Charset;
10 import java.nio.charset.CharsetDecoder;
11 import java.nio.charset.CharsetEncoder;
12 
13 
14 public class Coder {
15 
16     @Test
17     public  void demo() throws CharacterCodingException, UnsupportedEncodingException {
18 
19         //获取GBK字符集对象
20         Charset gbk = Charset.forName("GBK");
21 
22         //获取编码器
23         CharsetEncoder gbkEn = gbk.newEncoder();
24 
25         //获取解码器
26         CharsetDecoder gbkDe = gbk.newDecoder();
27 
28         //字符缓冲
29         CharBuffer buffer = CharBuffer.allocate(1024);
30         buffer.put("这是一个java-nio字符集的测试");
31         buffer.flip();
32 
33         //编码器编码
34         ByteBuffer buf = gbkEn.encode(buffer);
35         for (byte b : buf.array()){
36             System.out.println(b);
37         }
38 
39         
40         //解码器解码
41         CharBuffer chars = gbkDe.decode(buf);
42         System.out.println(chars.toString());
43 
44 
45         //乱码
46         buf.flip();
47         Charset utf8 = Charset.forName("UTF-8");
48         CharBuffer text = utf8.decode(buf);
49         System.out.println(text.toString());
50 
51 
52     }
53 
54 
55 }

 

转载于:https://www.cnblogs.com/kill-9/p/9634530.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值