none
.net无法识别txt文件编码 RRS feed

  • 问题

  • 将网页以UTF-8另存为文本文件时,再在程序里通过文件前导符判断,是否UTF-8时,无法判断出来,自己新建的文本文件则可以?求指教。

    2013年3月4日 5:48

答案

  • 那你设法先用If做这样的判断:http://www.2cto.com/kf/201208/149623.html(判断是否UTF8)。

    Else部分用我DefaultEncoding方法。


    If you think one reply solves your problem, please mark it as An Answer, if you think someone's reply helps you, please mark it as a Proposed Answer

    Help by clicking:
    Click here to donate your rice to the poor
    Click to Donate
    Click to feed Dogs & Cats

    2013年3月14日 1:16
    版主
  • public bool IsUTF8(System.IO.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; }

    最终是用以上的方法解决的,非常感谢大家的回答


    2013年3月14日 6:47

全部回复