Linux中国  设为主页
 收藏本站
 
当前位置: > 首页 ->编程语言 ->ASP.NET ->[C#]解决读写包含汉字的txt文件时乱码的问题
  相关分类: 
ASP
ViualBasic
UML / Rational Rose
PHP4/PHP5
Perl
JAVA/JSP教程
Delphi
ColdFusion
CGI
C/C++
ASP.NET
XML
  站内搜索: 
热门文章排行
热门文章排行 C#编写的windows计算器-源代码(06-04)
C# 操作文件(06-04)
c#操作word表格(06-04)
使用C#在进度条中显示复制文件的进度(06-04)
C# GridView 排序及分页(06-04)
精采文章排行
精采文章排行 用C#实现FTP搜索引擎(06-04)
对C# 2.0中匿名方法的怀疑分析(06-04)
在C#中利用DirectX实现声音播放(06-04)
使用C#在进度条中显示复制文件的进度(06-04)
C#中利用Markup Service实现HTML解析(06-04)
  ·对C# 2.0中匿名方法的怀疑分析·在C#中利用DirectX实现声音播放·使用C#在进度条中显示复制文件的进度·C#中利用Markup Service实现HTML解析为DO·c#操作word表格·C#代码操作IIS之虚拟目录·如何使用C#在发送往client的内容上加js代·[C#]解决读写包含汉字的txt文件时乱码的·C#实现根据域名查询ip实例

[C#]解决读写包含汉字的txt文件时乱码的问题

作者:Webmaster   来源:Linuxdby.com   点击:   日期:2007-06-04 [收藏] [投稿]

  IE是否经常中毒?推荐您

            fs.Close();

            return targetEncoding;

 

        }


        /// <summary>

 

        /// 取得一个文本文件流的编码方式。


        /// </summary>

 

        /// <param name="stream">文本文件流。</param>


        /// <param name="defaultEncoding">默认编码方式。当该方法无法从文件的头部取得有效的前导符时,将返回该编码方式。</param>


        /// <returns></returns>

 


        public static Encoding GetEncoding(FileStream stream, Encoding defaultEncoding)

 

        {


            Encoding targetEncoding = defaultEncoding;


            if(stream != null && stream.Length >= 2)

 

            {


                //保存文件流的前4个字节


                byte byte1 = 0;


                byte byte2 = 0;


                byte byte3 = 0;


                byte byte4 = 0;

 

                //保存当前Seek位置


                long origPos = stream.Seek(0, SeekOrigin.Begin);


                stream.Seek(0, SeekOrigin.Begin);

 

                int nByte = stream.ReadByte();


                byte1 = Convert.ToByte(nByte);

 

                byte2 = Convert.ToByte(stream.ReadByte());

 

                if(stream.Length >= 3)

 

                {


                    byte3 = Convert.ToByte(stream.ReadByte());


                }


                if(stream.Length >= 4)


                {


                    byte4 = Convert.ToByte(stream.ReadByte());


                }

 

                //根据文件流的前4个字节判断Encoding

 

                //Unicode {0xFF, 0xFE};


                //BE-Unicode {0xFE, 0xFF};


                //UTF8 = {0xEF, 0xBB, 0xBF};


                if(byte1 == 0xFE && byte2 == 0xFF)//UnicodeBe


                {


                    targetEncoding = Encoding.BigEndianUnicode;


                }


                if(byte1 == 0xFF && byte2 == 0xFE && byte3 != 0xFF)//Unicode

 如果您对本文有任何疑问或者建议,请到讨论区发表您的意见: >> 论坛入口 <<

上一页 1 23 4 下一页

上一篇:C#实现根据域名查询ip实例   下一篇:如何使用C#在发送往client的内容上加js代码
文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【我要投稿】 【论坛讨论

   相关文章:
·用C#实现FTP搜索引擎

   文章评论:(1条)
  
 请留名: 匿名评论   点击查看所有评论 论坛讨论
 

 声明:刊登此文章是为了传递更多信息,文章内容仅供参考,转载请注明出处。