title: Convert raw byte string to Unicode without knowing the codepage beforehand
body: <p>When using the right-click menu context, windows passes file path as raw (byte) string type.</p>
  
  <p>For example:</p>
  
  <pre><code>path = 'C:\\MyDir\\\x99\x8c\x85\x8d.mp3'
  </code></pre>
  
  <p>Many external packages in my application are expecting <code>unicode</code> type strings, so I have to convert it into <code>unicode</code>.</p>
  
  <p>That would be easy if we'd known the raw string's encoding beforehand (In the example, it is <code>cp1255</code>). However I can't know which encoding will be used locally on each computer around the world.</p>
  
  <p>How can I convert the <code>string</code> into <code>unicode</code>? Perhaps using <code>win32api</code> is needed?</p>