title: Read binary mode in python2.7 returns a 'str' type. Why is it so?
body: <p>My objective is to read a text (or) file byte by byte in Python. I came across few stack overflow questions: <a href="https://stackoverflow.com/questions/1035340/reading-binary-file-and-looping-over-each-byte/1035456">Reading binary file and looping over each byte</a></p>
  
  <p>and using the following method:</p>
  
  <pre><code>with open("./test", "rb") as in_file:
      msg_char = in_file.read(1)
      print(type(msg_char))
  </code></pre>
  
  <p>And am geting the output as</p>
  
  <pre><code>&lt;type 'str'&gt;
  </code></pre>
  
  <p>I checked this on one other question <a href="https://stackoverflow.com/questions/23424095/read-string-from-binary-file">Read string from binary file</a> which says that <em>read returns a string; in the sense "string of bytes".</em> I am confused. Following is the question:</p>
  
  <ol>
  <li>Is "string of bytes" different from conventional strings (as used in C/C++ etc..).</li>
  </ol>