c# 编码

在c#中读取文件txt时经常出现乱码 原因是文本编辑器(比如XP自带的记事

本)在生成文本文件时,如果编码格式和系统默认的编码(中文系统下默认为GB2312)不一致时,会在txt文件开头

部分添加特定的“编码字节序标识(Encoding Bit Order Madk,简写为BOM)”StreamReader 的默认编码为 UTF-8,而不是当前系统的 ANSI 代码页。
因此读取简体中文会出现乱码,可以指定编码正确显示GB2312简体中文.
StreamReader streamopen=new StreamReader(@"c:\1.txt",System.Text.Encoding.Default);
string strOpen=streamopen.ReadToEnd();
streamopen.Close();
或者System.Text.Encoding.Default换成System.Text.Encoding.GetEncoding("gb2312")
用StreamWriter保持txt文件时也是这种方法:
StreamWriter streamsave=new StreamWriter(@"d:\1.txt",false,System.Text.Encoding.Default);

你可能感兴趣的:(C++,c,C#,XP)