In PYthon 3 .decode() on bytes requires the name of the encoding to be a str type which means we have to convert the extracted encoding before we can use it.
Since get_encoding() is only called when the input is *not* already unicode we need to declare the regexs as byte type so they continue to work in Python 3.
from kennethreitz/requests/utils.py. Also I added some superset
encodings I have found in Chinese pages that are mishandled by
chardet/character declarations.