java8字符集,如何解决字符乱码问题?

时间:2026-02-14 03:20:28

1、java8支持的字符集:

@Test

    public void test() {

        Map<String,Charset> map = Charset.availableCharsets();

        

        Set<Map.Entry<String,Charset>> entrySet = map.entrySet();

        for(Map.Entry<String,Charset> entry:entrySet) {

            System.out.println(entry.getKey() + "=" + entry.getValue());

        }

    }

java8字符集,如何解决字符乱码问题?

2、运行程序查看所支持的字符集

java8字符集,如何解决字符乱码问题?

3、编码与解码字符:

public void test1() throws Exception {

        Charset charset  = Charset.forName("GBK");

        

        CharsetEncoder charsetEncoder = charset.newEncoder();

        CharsetDecoder charsetDecoder = charset.newDecoder();

        CharBuffer charBuffer = CharBuffer.allocate(1024);

        charBuffer.put("你好,中国威武");

        charBuffer.flip();

        

        //编码

        ByteBuffer byteBuffer =  charsetEncoder.encode(charBuffer);

        //解码

        CharBuffer charBuffer1 =  charsetDecoder.decode(byteBuffer);

        System.out.println(charBuffer1.toString());

    }

java8字符集,如何解决字符乱码问题?

4、运行程序查看程序运行结果:

java8字符集,如何解决字符乱码问题?

5、GBK与UTF-8字符编码转换

 @Test

    public void test2() throws Exception {

        Charset charset  = Charset.forName("GBK");

        CharsetEncoder charsetEncoder = charset.newEncoder();

        CharBuffer charBuffer = CharBuffer.allocate(1024);

        charBuffer.put("你好,中国威武");

        charBuffer.flip();

        //编码

        ByteBuffer byteBuffer =  charsetEncoder.encode(charBuffer);

        //解码

        CharBuffer charBuffer1 =  Charset.forName("UTF-8").decode(byteBuffer);

        System.out.println(charBuffer1.toString());

    }

java8字符集,如何解决字符乱码问题?

6、运行程序查看程序运行结果:

java8字符集,如何解决字符乱码问题?

© 2026 五度知识库
信息来自网络 所有数据仅供参考
有疑问请联系站长 site.kefu@gmail.com