Re: [python] Kódování souborů

Martin Herceg martin na ufon.sk
Neděle Prosinec 18 21:21:29 CET 2005


skusal si aj program ENCA?
pre linux to je urcite a pre windows mozno tiez, treba pozriet
enca vie naviac aj konverzie atd., je mimoriadne rychla a aj spolahliva


On Dec 18, 2005, at 8:27 PM, geon wrote:

> Ahoj,
>
> Tak začnu tím co jsem zplodil a pak se zeptám, jestli něco  
> takového existuje v lepší formě.
>
> Chci "odhadnout" v jakém kodovani je uložen text v souborech. S  
> pomocí http://cthedot.de/encutils/ jsem vyvtořil následující  
> funkci, která odhaduje všechna možná kodování souborů v  
> aktuálním adresáři:
>
> # -*- coding: cp1250 -*-
>
> def tryEncodings(text):
>    encodings = (
>        'ascii',
>        'iso-8859-2',
>        'cp1250',
>        'utf-8'
>        )
>    encoding = []
>    for e in encodings:
>        try:
>            text.decode(e) # fungovalo by i unicode(text,e)
>        except (UnicodeEncodeError, UnicodeDecodeError):
>            pass
>        else:
>            encoding.append(e)
>    return encoding
>
> import os, sys
> seznam =[jmeno for jmeno in os.listdir('.') if os.path.isfile(jmeno)]
>
> for jmeno in seznam:
>    text=file(jmeno).read()
>    print jmeno, tryEncodings(text)
>
> Díky ViNilovi již znám i unixový příkaz/program  file, který  
> umí to samé, ale asi mnohem lépe. Zná někdo nějaký takový i  
> pro windows - nebo ještě lépe modul, který by to zvládal?
>
> Díky
>
> -- 
> geon
> Vyjímka je pravidlo. Rekurzivní.
>
> _______________________________________________
> Python mailing list
> Python na py.cz
> http://www.py.cz/mailman/listinfo/python

==============================
Martin Herceg
martin na ufon.sk






Další informace o konferenci Python