Where to locate existing standard encodings in python

Philip Semanchuk philip at semanchuk.com
Tue Nov 11 09:47:41 EST 2008


On Nov 11, 2008, at 9:10 AM, News123 wrote:

> Hi Philip,
>
> Your answer touches exaclty one point, which I was slightly afraid of:
> - The list is not exhaustive
> - python versions might have implemented different codecs.
>
> This is why I wondered whether there's any way of querying python  
> for a
> list of codecs it supports.

Try this:
Python 2.5.1 (r251:54863, Nov 17 2007, 21:19:53)
[GCC 4.0.1 (Apple Computer, Inc. build 5367)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
 >>> import encodings.aliases
 >>>
 >>> encodings.aliases.aliases


"aliases" in the encodings.aliases module is a dict mapping alias  
names (the dict keys) to encodings (the dict values). Thus, this will  
give you the list of supported encodings:
 >>> set(encodings.aliases.aliases.values())


The encodings module isn't in the documentation (?!?); I found it when  
looking through the Python source code. For that reason I can't say  
more about how it works. You may want to experiment to see if  
encodings added via codecs.register() show up in the  
encodings.aliases.aliases dict.


Have fun
Philip



>
> Philip Semanchuk wrote:
>>
>> On Nov 9, 2008, at 7:00 PM, News123 wrote:
>>
>>> Hi,
>>>
>>> I was googling quite some time before finding the answer to my  
>>> question:
>>> 'what are the names for the encodings supported by python?'
>>>
>>> I found the answer at http://python.active-venture.com/lib/node127.html
>>>
>>>
>>> Now my question:
>>>
>>> Can I find the same info in the standard python doc or query  
>>> python with
>>> a certain command to print out all existing codings?
>>
>>
>> Look under the heading "Standard Encodings":
>> http://docs.python.org/library/codecs.html
>>
>> Note that both the page you found (which appears to be a copy of the
>> Python documentation) and the reference I provide say, "Neither the  
>> list
>> of aliases nor the list of languages is meant to be exhaustive".
>>
>> I guess one reason for this is that different Python implementations
>> could choose to offer codecs for additional encodings.
> --
> http://mail.python.org/mailman/listinfo/python-list




More information about the Python-list mailing list