Possible Duplicate:
Determine a string's encoding in C#
Many text editorsr (like Notepad++) can detect encoding of arbitrary file. Can I detect encodoing of file in C#?
Possible Duplicate:
Determine a string's encoding in C#
Many text editorsr (like Notepad++) can detect encoding of arbitrary file. Can I detect encodoing of file in C#?
A StreamReader will try to automatically detect the encoding of a file if there's a BOM when trying to read:
public class Program { static void Main(string[] args) { using (var reader = new StreamReader("foo.txt")) { // Make sure you read from the file or it won't be able // to guess the encoding var file = reader.ReadToEnd(); Console.WriteLine(reader.CurrentEncoding); } } } StreamReader does NOT attempt to detect the encoding, it simply uses the default. See the very documentation you linked, where it says: "The default character encoding and default buffer size are used."