zoukankan      html  css  js  c++  java
  • 7、NIO--字符集Charset

    字符集:Charset

    编码:字符串-->字节数组

    解码:字节数组-->字符串

    查看相关的字符集

    @org.junit.Test
        public void test9(){
            
            Map<String, Charset> map = Charset.availableCharsets();
            
            Set<Entry<String, Charset>> set = map.entrySet();
            
            for(Entry<String, Charset> entry : set){
                System.out.println(entry.getKey() + "--" + entry.getValue());
            }
             
        }

     可以看到支持的字符集非常多(省略很多)

        @org.junit.Test
        public void test10() throws CharacterCodingException{
            Charset charset = Charset.forName("GBK");
            
            //获取编码器
            CharsetEncoder charsetEncoder = charset.newEncoder();
            //获取解码器
            CharsetDecoder charsetDecoder = charset.newDecoder();
            
            
            CharBuffer charBuffer = CharBuffer.allocate(1024);
            charBuffer.put("我爱博客园,一个分享经验的地方!!");
            charBuffer.flip();
            
            //编码
            ByteBuffer bBuf = charsetEncoder.encode(charBuffer);
            
            System.out.println("编码------------");
            for(int i=0;i <30;i++){
                System.out.println(bBuf.get());
            }
            
            System.out.println("解码-------------");
            //解码
            bBuf.flip();
            CharBuffer cBuf = charsetDecoder.decode(bBuf);
            System.out.println(cBuf.toString());
    
        }

     

    对应的编码对应相同的解码方式

    如果编码和解码的方式不一致则会发生乱码的问题

  • 相关阅读:
    Mysql集群
    JAVA 经典算法 40 例
    公司面试问题总结
    面试题6
    面试题5
    Java自学-JDK环境变量配置
    mybatis中#{}和${}的区别
    JVM系列(四)— 原子性、可见性与有序性
    JVM系列(三)— Java内存模型
    Java基础拾遗(一) — 忽略的 Integer 类
  • 原文地址:https://www.cnblogs.com/Mrchengs/p/10835753.html
Copyright © 2011-2022 走看看