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

2026-01-13 00:21:16

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字符集,如何解决字符乱码问题?

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢