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 @   青仙  阅读(67)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示