abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    17.5. 13:44 | Nová verze

    Byla vydána (𝕏) nová major verze 17 softwarového nástroje s webovým rozhraním umožňujícího spolupráci na zdrojových kódech GitLab (Wikipedie). Představení nových vlastností i s náhledy a videi v oficiálním oznámení.

    Ladislav Hagara | Komentářů: 0
    17.5. 12:22 | Komunita

    Sovereign Tech Fund, tj. program financování otevřeného softwaru německým ministerstvem hospodářství a ochrany klimatu, podpoří vývoj FFmpeg částkou 157 580 eur. V listopadu loňského roku podpořil GNOME částkou 1 milion eur.

    Ladislav Hagara | Komentářů: 0
    17.5. 01:55 | Komunita

    24. září 2024 budou zveřejněny zdrojové kódy přehrávače Winamp.

    Ladislav Hagara | Komentářů: 10
    16.5. 23:33 | Nová verze

    Google Chrome 125 byl prohlášen za stabilní. Nejnovější stabilní verze 125.0.6422.60 přináší řadu oprav a vylepšení (YouTube). Podrobný přehled v poznámkách k vydání. Opraveno bylo 9 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 1
    16.5. 21:11 | Nová verze

    Textový editor Neovim byl vydán ve verzi 0.10 (𝕏). Přehled novinek v příspěvku na blogu a v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    16.5. 20:55 | Nová verze

    Byla vydána nová verze 6.3 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Přehled změn v příslušném seznamu. Tor Browser byl povýšen na verzi 13.0.15.

    Ladislav Hagara | Komentářů: 0
    16.5. 13:33 | IT novinky

    Dnes ve 12:00 byla spuštěna první aukce domén .CZ. Zatím největší zájem je o dro.cz, kachnicka.cz, octavie.cz, uvycepu.cz a vnady.cz [𝕏].

    Ladislav Hagara | Komentářů: 9
    16.5. 13:22 | Nová verze

    JackTrip byl vydán ve verzi 2.3.0. Jedná se o multiplatformní open source software umožňující hudebníkům z různých částí světa společné hraní. JackTrip lze instalovat také z Flathubu.

    Ladislav Hagara | Komentářů: 0
    16.5. 12:22 | Pozvánky

    Patnáctý ročník ne-konference jOpenSpace se koná 4. – 6. října 2024 v Hotelu Antoň v Telči. Pro účast je potřeba vyplnit registrační formulář. Ne-konference neznamená, že se organizátorům nechce připravovat program, ale naopak dává prostor všem pozvaným, aby si program sami složili z toho nejzajímavějšího, čím se v poslední době zabývají nebo co je oslovilo. Obsah, který vytváří všichni účastníci, se skládá z desetiminutových

    … více »
    Zdenek H. | Komentářů: 0
    16.5. 03:11 | Nová verze

    Program pro generování 3D lidských postav MakeHuman (Wikipedie, GitHub) byl vydán ve verzi 1.3.0. Hlavní novinkou je výběr tvaru těla (body shapes).

    Ladislav Hagara | Komentářů: 9
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (76%)
     (5%)
     (10%)
     (8%)
    Celkem 343 hlasů
     Komentářů: 16, poslední 14.5. 11:05
    Rozcestník


    Vložit další komentář
    13.2.2007 00:54 Kyosuke | skóre: 28 | blog: nalady_v_modre
    Rozbalit Rozbalit vše Re: Standardní knihovna pro Python - 7 (řetězce 3)
    Je to divný, ale ten maketrans s češtinou mi s UTF-16 funguje. ;-) Zjevně i Pythonu nějaký ten krůček do úplné unicodizace chybí. Za modul unicodedata budiž ovšem had blahoslaven a veleben. :-)
    13.2.2007 10:48 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: Standardní knihovna pro Python - 7 (řetězce 3)
    Jestli mohu doporučit, tak funkcím maketrans/translate je dobré se vyhnout, pokud si opravdu nejste naprosto jistí, že je opravdu potřebujete. Tyto funkce pracují s jednotlivými bajty (nikoli znaky), což se moc nehodí při práci s utf-8 a při práci s textem obecně. Jestliže ten maketrans s češtinou fungoval, byla to náhoda. A pokud nefungoval, nebyla to chyba pythonu ;-)

    Pro překódování řetězce odněkud někam je lepší použít encode/recode. Pro "hádání" kódování slouží Yetiho enca se svým pythonovským modulem pyenca. Pro odstranění diakritiky lze využít výše zmíněný modul unicodedata.

    Jo a díky za pěkný článek!
    13.2.2007 11:57 Kyosuke | skóre: 28 | blog: nalady_v_modre
    Rozbalit Rozbalit vše Re: Standardní knihovna pro Python - 7 (řetězce 3)
    Takhle nějak?
    def deaccent(unistr):
        return "".join(aChar 
                       for aChar in unicodedata.normalize("NFD", unistr) 
                       if "COMBINING" not in unicodedata.name(aChar))
    
    13.2.2007 12:01 Kyosuke | skóre: 28 | blog: nalady_v_modre
    Rozbalit Rozbalit vše Re: Standardní knihovna pro Python - 7 (řetězce 3)
    Á, odpovím si sám:
    def deaccent(unistr):
        return "".join(aChar 
                       for aChar in unicodedata.normalize("NFD", unistr) 
                       if not unicodedata.combining(aChar))
    bude očividně mnohem rychlejší. :-) Budu si ten modul muset prostudovat. :-D
    13.2.2007 13:28 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: Standardní knihovna pro Python - 7 (řetězce 3)
    Vida, díky - tvůj postup naprosto precizně odstraní akcenty :-) Zkusil jsem si s tím taky pohrát a dostal jsem se do svízele s tím, že vlastně nechápu, k čemu se to vlastně používá. Má to smysl možná tehdy, když musí být výsledkem ascii řetězec, a pak pouhé odstranění akcentů nestačí. Zde je ukázka několika možností:
    #!/usr/bin/env python
    #coding: utf-8
    
    import unicodedata
    
    def deaccent(unistr):
        return "".join(aChar 
                       for aChar in unicodedata.normalize("NFD", unistr) 
                       if not unicodedata.combining(aChar))
                       
    old_cz = u'áÁčČďĎěĚéÉíÍňŇóÓřŘšŠťŤúÚůŮýÝžŽ'
    old_fr = u'ôœùûüÿàâçéèêëïîÔŒÙÛÜŸÀÂÇÉÈÊËÏÎ'
    old = old_cz + old_fr
    print old
    print deaccent(old)
    print deaccent(old).encode('ascii', 'replace')
    print deaccent(old).encode('ascii', 'ignore')
    print unicodedata.normalize('NFKD', old).encode('ascii', 'ignore')
    print unicodedata.normalize('NFKD', old).encode('ascii', 'replace')
    
    Výsledek je toto:
    áÁčČďĎěĚéÉíÍňŇóÓřŘšŠťŤúÚůŮýÝžŽôœùûüÿàâçéèêëïîÔŒÙÛÜŸÀÂÇÉÈÊËÏÎ
    aAcCdDeEeEiInNoOrRsStTuUuUyYzZoœuuuyaaceeeeiiOŒUUUYAACEEEEII
    aAcCdDeEeEiInNoOrRsStTuUuUyYzZo?uuuyaaceeeeiiO?UUUYAACEEEEII
    aAcCdDeEeEiInNoOrRsStTuUuUyYzZouuuyaaceeeeiiOUUUYAACEEEEII
    aAcCdDeEeEiInNoOrRsStTuUuUyYzZouuuyaaceeeeiiOUUUYAACEEEEII
    a?A?c?C?d?D?e?E?e?E?i?I?n?N?o?O?r?R?s?S?t?T?u?U?u?U?y?Y?z?Z?
     o??u?u?u?y?a?a?c?e?e?e?e?i?i?O??U?U?U?Y?A?A?C?E?E?E?E?I?I?
    
    Jak je vidět, s češtinou celkem není problém, a proto pro ni lze na netu najít tolik více či méně korektních postupů. Ale zkusil jsem francouzštinu a pro ascii reprezentaci by to ještě chtělo spravit ty ligatury.
    13.2.2007 13:41 Kyosuke | skóre: 28 | blog: nalady_v_modre
    Rozbalit Rozbalit vše Re: Standardní knihovna pro Python - 7 (řetězce 3)
    Tak s těmi ligaturami bacha, ono v některých jazycích je to plnohodnotné písmeno, takže jakékoli odstraňování čehokoliv je locale-dependent. ;-)
    13.2.2007 14:47 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: Standardní knihovna pro Python - 7 (řetězce 3)
    Aha, máš pravdu:
    >>> import unicodedata
    >>> unicodedata.name(u'Œ')
    'LATIN CAPITAL LIGATURE OE'
    >>> unicodedata.name(u'Æ')
    'LATIN CAPITAL LETTER AE'
    
    Konverze do ASCII (nebo spíš latin-1?) by IMHO locale-dependent být nemusela. Ale nejsem si jistý. Za přečtení stojí tohleto: http://effbot.org/zone/unicode-convert.htm Uf. Radši akcenty nikdy neodstraňovat.
    13.2.2007 15:21 Kyosuke | skóre: 28 | blog: nalady_v_modre
    Rozbalit Rozbalit vše Re: Standardní knihovna pro Python - 7 (řetězce 3)
    Mnojo, jazykověda je ještě lepší zábava než linuxový kernel. :-D ;-)
    13.2.2007 15:43 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: Standardní knihovna pro Python - 7 (řetězce 3)
    Hehe :-) A když už jsme u těch akademických debat, zdá se, že pro převod do ASCII se při normalizaci víc hodí parametr 'NFKD' (místo 'NFD'), přestože ničí část informace. Například:
    >>> ctvrtka = u'\N{VULGAR FRACTION ONE QUARTER}'
    >>> print unicodedata.normalize('NFKD', ctvrtka)
    1⁄4
    >>> print unicodedata.normalize('NFD', ctvrtka)
    ¼
    
    Bohužel, někteří často pomocí skriptů převádějí do ASCII názvy souborů a adresářů. Takže když bude v názvu jedna čtvrtina, vyrobí se z toho nadbytečné lomítko, které v cestě nadělá paseku. No teoreticky by se to stát mohlo, no ne? :-)
    13.2.2007 15:47 Kyosuke | skóre: 28 | blog: nalady_v_modre
    Rozbalit Rozbalit vše Re: Standardní knihovna pro Python - 7 (řetězce 3)
    Diskuse se začíná nebezpečně stáčet směrem k založení nového projektu na Sourceforgi. :-D

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.