美文网首页Java基础系列
Charset(字符集)

Charset(字符集)

作者: Chermack | 来源:发表于2020-06-08 17:08 被阅读0次

编码:将字符串通过一系列对应规则转化为字节数组的过程
解码:将字节数组按照编码相反的规则转化为字符串的过程。

使用Charset.availableCharsets()可以获得当前系统可用编码的Map集合。

    @Test
    public void test1() {
        //获取系统的所有可用编码
        for (Map.Entry<String, Charset> charsetEntry : Charset.availableCharsets().entrySet()) {
            System.out.println(charsetEntry.getKey() + "=" + charsetEntry.getValue());
        }
    }
获取系统可用的字符集编码

使用GBK对字符串进行编码和节码。同时测试使用UTF-8对GBK编码的字符串进行节码。

    @Test
    public void test2() throws CharacterCodingException {
        Charset cs1 = Charset.forName("GBK");

        //获取编码器
        CharsetEncoder ce = cs1.newEncoder();

        //获取解码器
        CharsetDecoder cd = cs1.newDecoder();

        CharBuffer cBuf = CharBuffer.allocate(1024);
        cBuf.put("你好啊");
        cBuf.flip();

        //编码
        ByteBuffer bBuf = ce.encode(cBuf);

        for (int i = 0; i < 6; i++) {
            System.out.println(bBuf.get());
        }

        //解码
        bBuf.flip();
        CharBuffer cBuf2 = cd.decode(bBuf);
        System.out.println(cBuf2.toString());

        System.out.println("-------------------------");
        //使用UTF-8解码器对GBK编码的字符串进行节码,会出现乱码结果
        Charset cs2 = Charset.forName("UTF-8");
        bBuf.flip();
        CharBuffer cBuf3 = cs2.decode(bBuf);
        System.out.println(cBuf3.toString());
    }
编解码测试

相关文章

  • MySQL-数据库增删改查

    新增数据库 基本语法 库选项:用来约束数据库字符集设定:charset/charset set 具体字符集(数据库...

  • Charset(字符集)

    编码:将字符串通过一系列对应规则转化为字节数组的过程解码:将字节数组按照编码相反的规则转化为字符串的过程。 使用C...

  • HTML01基础知识

    1 HTML骨架 1.1 文档声明头 1.2 字符集 charset就是charactor set“字符集”的意思...

  • 字符集和字符编码

    一篇很好地字符集和字符编码的详细介绍 字符集和字符编码(Charset & Encoding)

  • mysql的表属性

    表属性 存储引擎 :engine 字符集 :charset = utf8mb4(最好用这个字符集) ...

  • Java Charset 字符集

    ASCII字符集 ASCII码主要是为了表示英文字符而设计的,英语用256个符号编码就够了,但是用来表示其他语言,...

  • MySQL-表的增删改查

    新增数据表 表选项:控制表的表现字符集:charset/character set 具体字符集; --保证表中数据...

  • 字符集编码和字符串

    什么是字符集和编码 什么是字符集( Charset )字符集就是字符的集合。-般会包含一种语言的字符。比如GBK ...

  • Node学习单词表

    charset:字符集 system:系统 static:静态的,静止的; file:文件 application...

  • 开发

    【Chrome-Charset】Chrome设置字符集 https://blog.csdn.net/tian330...

网友评论

    本文标题:Charset(字符集)

    本文链接:https://www.haomeiwen.com/subject/sweizhtx.html