字符编码和字符集和编码引出的问题_FileReader读取GBK格式的文件

字符编码和字符集

字符编码

计算机中存储的信息都是用二进制数表示的,我们在屏幕上看到的数字、英文、标点符号、汉字等字符是二进制数转换之后的结果。

按照某种规则,将字符存储到计算机中,称为编码。反之,将存储在计算机中的二进制数按照某种规则解析显示出来,称为解码。

比如:按照A规则存储,同样按照A规则解析,那么就能显示正确的文本符号。反之,按照A规则存储,再按照B规则解析,就会导致乱码现象。

编码:字符(能看懂的)-->字节(看不懂的)

解码:字节(看不懂的)-->字符(能看懂的)

>字符编码:就是一套自然语言的字符与二进制数之间的对应规则。

编码表:生活中文字和计算机中二进制的对应规则

字符集

 >字符集Charset:也叫编码表。是一个系统支持的所有字符的集合,包括各国家文字、标点符号、图形符号、数字等。

计算机要准确的存储和识别各种字符集符号,需要进行字符编码,一套字符集必然至少有一套字符编码。常见字符集有

ASCLL字符集、GBK字符集、Unicode字符集等。

ASCLL编码-->ASCLL字符集

GBK编码-->GBK字符集

UTF8编码、UTF16编码、UTF32编码-->Unicode字符集

当指定了编码,它所对应的字符集自然就指定了,所以编码才是我们最终要知道的。

 

编码引出的问题_FileReader读取GBK格式的文件

创建一个系统默认的编码文本进行读取

文件-->另存为-->选项ANSI系统默认编码格式进行读取

    private static void show010() throws IOException {
        FileReader fr = new FileReader(new File("F:\\GBK.txt"));
        int len = 0;
        while ((len=fr.read())!=-1){
            System.out.println((char)len);
        }
        fr.close();
    }

 

posted @ 2022-07-15 10:01  魔光领域  阅读(248)  评论(0编辑  收藏  举报