I think you are getting it wrong. You can not interpret binary files as text files. What I mean is here:
fileEncoding.GetString(bufferBlock)
As I understood bufferBlock can contain contents of a binary file.
Then you are calling a method which will try to interpret these
bytes as some text encoded in some encoding. But this might
not be the case, since the file was not a text file to begin
with. More details here: http://stackoverflow.com/questions/10353913/streamreader-vs-binaryreader/https://stackoverflow.com/questions/10353913/streamreader-vs-binaryreader/