title: How do I know all supported encodings recognized by Python's unicode function
body: <p>Python has a <code>unicode</code> built-in function that converts an byte stream to unicode string.</p>
  
  <p><img src="https://i.stack.imgur.com/SdLAA.png" alt="enter image description here"></p>
  
  <p>I just hope I can query all the available <em>encoding</em> on my system. But how to.</p>
  
  <p>The reason for this question is: Some one using MAC OS X sent me an email with content-encoding 'iso-2022-cn', and I find that Python 2.7 on Windows 7 does not recognize that encoding.</p>
  
  <pre><code>&gt;&gt;&gt; print unicode(bs2022, 'iso-2022-cn')
  
  Traceback (most recent call last):
    File "&lt;pyshell#97&gt;", line 1, in &lt;module&gt;
      print unicode(bs2022, 'iso-2022-cn')
  LookupError: unknown encoding: iso-2022-cn
  </code></pre>
  
  <p>So I'd like to find out whether Python uses a different name for 'iso-2022-cn' by looking at all <em>encoding</em> he can support. </p>