abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 15:11 | IT novinky

    Evropská komise naléhavě vyzvala členské státy EU, aby kvůli ochraně nezletilých na internetu urychlily zavádění unijní aplikace pro ověřování věku a zajistily její dostupnost do konce roku. Členské státy mohou zavést aplikaci EU pro ověřování věku jako samostatnou aplikaci nebo ji integrovat do takzvané evropské peněženky digitální identity.

    Ladislav Hagara | Komentářů: 2
    včera 23:33 | Nová verze

    Richard Biener oznámil vydání verze 16.1 (16.1.0) kolekce kompilátorů pro různé programovací jazyky GCC (GNU Compiler Collection). Jedná se o první stabilní verzi řady 16. Přehled změn, nových vlastností a oprav a aktualizovaná dokumentace na stránkách projektu. Některé zdrojové kódy, které bylo možné přeložit s předchozími verzemi GCC, bude nutné upravit.

    Ladislav Hagara | Komentářů: 0
    včera 23:11 | Nová verze

    Zulip Server z open source komunikační platformy Zulip (Wikipedie, GitHub) byl vydán ve verzi 12.0. Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    včera 12:11 | IT novinky

    Před 30 lety, tj. v úterý 30. dubna 1996, byl spuštěn Seznam.cz.

    Ladislav Hagara | Komentářů: 14
    včera 11:44 | Komunita

    Byly zpracovány a zveřejněny všechny videozáznamy, které stojí za zveřejnění, z konference FOSDEM 2026.

    Ladislav Hagara | Komentářů: 0
    včera 01:11 | IT novinky

    Od úterý 28. dubna musí nově uváděné notebooky v Evropské unii podporovat nabíjení přes USB-C. Jednotná nabíječka byla schválena Evropským parlamentem v říjnu 2022.

    Ladislav Hagara | Komentářů: 57
    29.4. 23:44 | Bezpečnostní upozornění

    Byly publikovány informace o kritické zranitelnosti CVE-2026-31431 pojmenované Copy Fail v Linuxu, konkrétně v kryptografii (AF_ALG). Běžný uživatel může získat práva roota (lokální eskalaci práv). Na všech distribucích Linuxu vydaných od roku 2017. Pomocí 732bajtového skriptu. V upstreamu je již opraveno. Zranitelnost byla nalezena pomocí AI Xint Code.

    Ladislav Hagara | Komentářů: 4
    29.4. 17:44 | Nová verze

    Textový editor Zed dospěl do verze 1.0. Představení v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    29.4. 04:44 | Komunita

    Vývojáři svobodného 3D softwaru Blender představili (𝕏, Mastodon, Bluesky) nejnovějšího firemního sponzora Blenderu. Je ním společnost Anthropic stojící za AI Claude a úroveň sponzoringu je Patron, tj. minimálně 240 tisíc eur ročně. Anthropic oznámil sponzorství v tiskové zprávě Claude for Creative Work.

    Ladislav Hagara | Komentářů: 7
    29.4. 03:55 | Nová verze

    VNC server wayvnc pro Wayland kompozitory postavené nad wlroots - ne GNOME, KDE nebo Weston - byl vydán ve verzi 0.10.0. Vydána byla také verze 1.0.0 související knihovny neatvnc.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (14%)
     (8%)
     (2%)
     (13%)
     (31%)
     (4%)
     (7%)
     (3%)
     (16%)
     (25%)
    Celkem 1469 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    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.