A path is not a file
A path is text that names a place. Whether a file lives there is only known when you try, and trying can fail.
Bytes become text
The read call turns bytes into a string using an encoding. If the encoding is wrong, the text is wrong.