title: properly converting special chars in python byte string
body: <p>Tried to look through a few similar threads, but still confused:</p>
  <p>I have a byte string with some special characters (for a double quote in my case) like below. What's the easiest way to properly convert it to a string, so that the special characters are mapped correctly?</p>
  <pre><code>b = b'My groovy str\xe2\x80\x9d is now fixed'
  </code></pre>
  <p>Update: regarding decode('utf-8')</p>
  <pre><code>&gt;&gt;&gt; b = b'My groovy str\xe2\x80\x9d is now fixed'
  &gt;&gt;&gt; b_converted = b.decode(&quot;utf-8&quot;) 
  &gt;&gt;&gt; b_converted
  'My groovy str\u201d is now fixed'
  &gt;&gt;&gt; print(b_converted)
  Traceback (most recent call last):
    File &quot;&lt;stdin&gt;&quot;, line 1, in &lt;module&gt;
  UnicodeEncodeError: 'ascii' codec can't encode character '\u201d' in position 13: ordinal not in range(128)
  </code></pre>