title: When using TriStateUseDefault, how is the file encoding determined
body: <p>I have some code which uses the fileSystemObject to open a file and then uses OpenAsTextStream to get a stream for reading. I have been using TriStateUseDefault (-2) as the second argument in order to handle ASCII and Unicode files. But I ran into a situation with a file which is definitely ASCII (no special 2-byte header to start file, no BOM). But the file seems to be getting interpreted as Unicode. When the OpenAsTextStream method is passed TriStateUseDefault, does it do more "interesting" inspection of the file contents to try to guess if the file is Unicode?</p>
  
  <p>For example, the problem file had a few lines of text, one of which contained something like:
  "... ^123^...."
  and treated the file as Unicode.</p>
  
  <p>When I changed the text of that line to "...^1234^..." FSO treated the file as ASCII.  </p>
  
  <p>If fso is guessing the encoding, is there anyway to avoid such an edge case where it guesses wrong? </p>
  
  <p>One other note - This file does have "extended ASCII" characters, including the "thorn" character (ascii 254).</p>
  
  <p>Sample code:</p>
  
  <pre><code>TriStateUseDefault = -2
  Set fso = CreateObject("Scripting.FileSystemObject")
  set objFIL = FSO.GetFile("myfile.txt")
  Set TS =objFIL.OpenAsTextStream(ForReading, TristateUseDefault)
  strLine = TS.ReadLine
  </code></pre>