zoukankan      html  css  js  c++  java
  • I/O输入输出-解码乱码问题

    有时候文件会出现一些乱码问题

    /**
     * 转换流:字节流转字符流,处理乱码(编码集,解码集)
     * 1编码与解码的概念
     * 编码: 字符----编码字符集->二进制
     * 解码:二进制---解码字符集->字符
     * 2乱码
     * 1)编码与解码的字符集不 统一
     * 2)字节缺少,长度丢失、

    **/

    以下在在编码与解码字符出现的统一的情况下出现乱码

    public static void test() throws UnsupportedEncodingException
        {
            //解码   byte--->char
                    String  str = "中国";//gbk
                    //编码  char --->byte
                    byte[] data = str.getBytes();//将str转换成字节数组
                    //编码与解码字符集统一
                    //通过使用指定的 charset 解码指定的 byte数组,构造一个新的 String。新 String 的长度是字符集的函数,因此可能不等于 byte 数组的长度。 
                    System.out.println(new String(data));
                    
                    System.out.println("*************");
                    //设定编码字符集
                    data = str.getBytes("utf-8");
                    //不统一出现乱码
                    System.out.println(new String(data));
                    
                    
                    System.out.println("*************");
                    //编码
                    byte[] data2 = "中国".getBytes("utf-8");
                    //解码
                    str = new String(data2,"utf-8");
                    System.out.println(str);
        }

    解码文件:

     public static void test1() throws IOException
        {
            //指定解码字符集
            BufferedReader br = new BufferedReader(
                    new InputStreamReader(
                            new FileInputStream(
                                    new File("e:/test/zjf.txt")))
                    );
            String info = null;
            while(null!=(info = br.readLine()))//读取每一行
            {
                System.out.println(info);
            }
        }
  • 相关阅读:
    java 手写 jvm高性能缓存
    给大家推荐一款非常好用的表单验证插件:lr-verify.js
    如何设计处优秀的Restful API
    volatile、static
    微服务学习(一):微服务介绍
    spark过滤算子+StringIndexer算子出发的一个逻辑bug
    spark和深度学习集成调研
    收藏一个不错的个人博客
    二分法中的逼近法
    netty服务端启动--ServerBootstrap源码解析
  • 原文地址:https://www.cnblogs.com/zjf-293916/p/6013076.html
Copyright © 2011-2022 走看看