国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

自動辨別文本是不是utf-8的c#程序

2024-07-21 02:27:15
字體:
來源:轉載
供稿:網友
,歡迎訪問網頁設計愛好者web開發。

private void findnoutffile(string path)
   {
    system.io.streamreader reader = null;
    stringbuilder sb;
    stringbuilder sb2;   
    directoryinfo folder = new system.io.directoryinfo(path);
    directoryinfo[] subfolders = folder.getdirectories();
    for (int i=0;i<subfolders.length;i++)
    {
     findnoutffile(subfolders[i].fullname);
    }
    fileinfo[] subfiles = folder.getfiles();
    for(int j=0;j<subfiles.length ;j++)
    {
     if(checkfiletype(subfiles[j].extension.tolower()))
     {         
      filestream fs = new filestream(subfiles[j].fullname , filemode.open,fileaccess.read);
      sb = new stringbuilder();
      sb2 = new stringbuilder();
      bool butf8 =isutf8(fs);
      fs.close();
      if (!butf8)
      {      
       reader = new system.io.streamreader(subfiles[j].fullname,system.text.encoding.utf8);
       sb2.append(reader.readtoend());
       reader.close();
       reader = new system.io.streamreader(subfiles[j].fullname, system.text.encoding.default,true);    
       sb.append(reader.readtoend());
       reader.close();
   }
     
     
     }
    }
   
   }
 
   //0000 0000-0000 007f - 0xxxxxxx  (ascii converts to 1 octet!)
   //0000 0080-0000 07ff - 110xxxxx 10xxxxxx    ( 2 octet format)
   //0000 0800-0000 ffff - 1110xxxx 10xxxxxx 10xxxxxx (3 octet format)

   private static bool isutf8(filestream sbinputstream)
   {
    int   i;
    byte coctets;  // octets to go in this utf-8 encoded character
    byte chr;
    bool  ballascii= true;
    long ilen = sbinputstream.length;

    coctets= 0;
    for( i=0; i < ilen; i++ )
    {
     chr = (byte)sbinputstream.readbyte();

     if( (chr & 0x80) != 0 ) ballascii= false;

     if( coctets == 0 ) 
     {
      if( chr >= 0x80 )
      { 
       do
       {
        chr <<= 1;
        coctets++;
       }
       while( (chr & 0x80) != 0 );

       coctets--;                       
       if( coctets == 0 ) return false; 
      }
     }
     else
     {
      if( (chr & 0xc0) != 0x80 )
      {
       return false;
      }
      coctets--;                      
     }
    }

    if( coctets > 0 )
    { 
     return false;
    }

    if( ballascii )
    {   
     return false;
    }

    return true;

   }
  }
  
 
 }

 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 巧家县| 胶州市| 墨脱县| 大连市| 岑巩县| 会东县| 桐城市| 安仁县| 塔城市| 宁阳县| 卢龙县| 通榆县| 壶关县| 宣城市| 五大连池市| 布拖县| 花莲市| 红河县| 福安市| 科技| 宜君县| 郎溪县| 武夷山市| 武胜县| 布尔津县| 巨鹿县| 奎屯市| 洪雅县| 喜德县| 邹平县| 定州市| 彰化县| 凉城县| 白河县| 长丰县| 周至县| 龙泉市| 陆川县| 于田县| 仪陇县| 泰州市|