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

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to