18编码

文本文件编码

文本文件有不同的存储方式,将字符串以什么样的编码格式保存为二进制,这个就是编码

编码格式:指的就是你以怎样的形式来存储字符串,常用编码形式:UTF-8、ASCII、Unicode,gbk

 // a - z 0 - 9  Ascii  117 u---- > 汉字--->GB2312 GBK
            int n = (int)'u';
            char c = (char)188;
            Console.WriteLine(c);
            Console.WriteLine(n);

乱码:产生乱码的原因就是因为你保存这个文件的编码格式跟你打开这个文件的编码格式不一样。

文本文件:拖到txt文件中,还能看得懂的文件就是文本文件。
文本文件相关的函数一般都有一个Encoding类型的参数,取得编码的方式:Encoding.Default、Encoding.UTF8、Encoding.GetEncoding("GBK")

输出Encoding.GetEncodings(),所有编码。

EncodingInfo[] en = Encoding.GetEncodings();
            foreach (var item in en)
            {
                Console.WriteLine(item.DisplayName);
            }
            Console.ReadKey();

通过Encoding里的函数可以将文本的编码转为想要的编码格式

//以字节形式读取文件,并且返回一个字符串的数组
            byte[] buffer = File.ReadAllBytes(@"C:\Users\Admin\Desktop\测试文本.txt");

            //将字节数组转换成字符串,并且将字节数组中的每一个元素都按照我们指定的编码格式解码成字符串

			 //UTF8
            string s = Encoding.UTF8.GetString(buffer);

            //ANSI
            //string s = Encoding.Default.GetString(buffer);

            //GB2312
            //string s = Encoding.GetEncoding("GB2312").GetString(buffer);
			
posted @ 2021-10-09 15:54  青仙  阅读(80)  评论(0)    收藏  举报