C# 判读取得字符编码格式

            FileStream fs1 = new FileStream(folder + strPath, FileMode.Open);

            byte[] bytes = new byte[fs1.Length];
            fs1.Read(bytes, 0, bytes.Length);
            // 设置当前流的位置为流的开始   
            fs1.Seek(0, SeekOrigin.Begin);

            UniversalDetector Det = new UniversalDetector(null);
            Det.HandleData(bytes, 0, bytes.Length);
            Det.DataEnd();
            //得到文档字符编码类型
            string cLX = Det.GetDetectedCharset();
       string Text = Encoding.GetEncoding(cLX).GetString(bytes);
       //第2种方式 StreamReader sr = new StreamReader(fs1, Encoding.GetEncoding(cLX)); string str1 = sr.ReadToEnd();

 UniversalDetector这个是个第三方的字符编码识别,准确率还是可以的

http://pan.baidu.com/s/1pJ5C6TX   

UniversalDetector 源码链接如上

posted @ 2014-07-09 17:00  小马的酒吧  阅读(8844)  评论(0编辑  收藏  举报