How do I read a raw byte array from any file, and write that byte array back into a new file?
Do you know about TextReader and TextWriter, and their descendents StreamReader and StreamWriter? I think these will solve your problem because they handle encodings, BinaryReader does not know about encodings or even text, it is only concerned with bytes.
How to read text from a file
How to write text to a file
This is an excellent intro to file IO and encodings.