title: binary -> UTF-8 -> string
body: <p>I'm trying to understand Unicode and all asociated things. I have made an utf-8.txt file which obviously is encoded in utf-8. It has "Hello world!" inside.
  Heres what I do:</p>
  
  <pre><code>f = open('utf8.txt', mode = 'r', encoding = 'utf8')
  f.read()
  </code></pre>
  
  <p>What I get is: '\ufeffHello world!' where did the prefix came from?</p>
  
  <p>Another try:</p>
  
  <pre><code>f = open('utf8.txt', 'rb')
  byte = f.read()
  </code></pre>
  
  <p>printing byte gives: b'\xef\xbb\xbfHello world!' I assume that prefix came in as hex.</p>
  
  <pre><code>byte.decode('utf8')
  </code></pre>
  
  <p>above code again gives me: '\ufeffHello world!'</p>
  
  <p>What am I doing wrong? How to retrive text to python from utf-8 file?</p>
  
  <p>Thanks for feedback!</p>