[python] upper a lower
Zdravím všechny přítomné v konferenci, narazil jsem na problém ve znakové sadě. Kód v modulu: # -*- coding: cp1250 -*- import locale print locale.setlocale(locale.LC_ALL, 'Czech_Czech Republic.1250') print 'ž', 'ž'.upper() Můžete mi prosím někdo vysvětlit proč to nevypisuje ž a Ž a co dělám za chybu ? Respektive jak mám porovnat shodnost malých a velkých písmen v unicode a nebo v str s nastavenou znakovou sadou ? -- Mirek N. ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python
Re: [python] upper a lower
zdravim, staci dat unicode retazec. V ASCII znak ž neexistuje. # -*- coding: utf8 -*- import locale print locale.setlocale(locale.LC_ALL, 'sk_SK.utf8') print 'ž', 'ž'.upper() # nefunguje print u'ž', u'ž'.upper() # funguje Jan Janech mtip wrote: Zdravím všechny přítomné v konferenci, narazil jsem na problém ve znakové sadě. Kód v modulu: # -*- coding: cp1250 -*- import locale print locale.setlocale(locale.LC_ALL, 'Czech_Czech Republic.1250') print 'ž', 'ž'.upper() Můžete mi prosím někdo vysvětlit proč to nevypisuje ž a Ž a co dělám za chybu ? Respektive jak mám porovnat shodnost malých a velkých písmen v unicode a nebo v str s nastavenou znakovou sadou ? -- Ing. Jan Janech Katedra softverovych technologii Fakulta riadenia a informatiky Zilinska Univerzita ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python
Re: [python] capacitor
TEM TYÖ JA ELINKEINOMINISTERIÖ Helsingissä 27. päivänä toukokuuta 2008 Mielipiteitten esittäminen julkisuuteen nettiin valtiovallan erityissuojeluksessa. Voi esittää mielipiteitä ja antaa ydinkriittisiä lausuntoja kirjallisesti toimittamalla ne työ- ja elinkeinministeriön kirjaamoon tai ministeriön viralliseen sähköpostiosoitteseen kuulemi...@tem.fi) viimeistään 25.07.2008. Annetuissa lausunnoissa pyydetään viittaamaan diaarinumeroon 820/815/2008.Kaiki innolla mukaan nuijimaan ydinrikosta ihmiskuntaa vasteen kohden lopullista päättävää Nyyrbergin oikeudenkäyntiään! Sinä, juuri sinä laiskahkosti olutta ja naksuja ryystävä olet tähtäimessämme! Ota ikionkeesi ja koska gallubin mukaan inhoat syvästi ydinvoimarikosta ja olet kasvavassa 2/3 osan maailmankattavan ydinvastustaiuuden syvä toivo PIRISTY! Jo YKSI keskeinen esiin tuotu ydinhaitta voi upottaa koko läpimädän korruptioydinlaivan pysyvästi. Tavalla, josta miljoonat lapsenlapsemme tulevat kultaisin patsain kiittämään. *JUURI SINÄ TÄSSÄ JA NYT. Ydinvoima on tieten tehty valtiomonopolinen ydinsodan julistus kansaamme vastaan. Jonka estämisessä JUURI sinulla on se tärkein ääni esittää loppumisen puolesta. EU onkin jo antanut Euroopan laajuiset uudisenergian kasvuvaateet vuoteen 2020 +25% lisäpakottein ydinvoimaloiden alasajoksi. Vuoteen 2050 mennessä luku taas jo tuplataan maailman KAIKEN ydinasevarusteluenergian tappamiseksi maailman kartalta. Nyt sinulla rakas kansalainen on oma osasi tässä taistelussasi ydinkiimaa vastaan! Toimi tässä ja nyt. Koska syntymättömät kärsijät eivät siihen kykene. Ydinvoima tappaa jo nyt maailmalla 7,3miljoonaa vuosittain. Aiotko havahtua vasta kun nollia tulee lisää ja mitään ei ole enää tehtävissä? * **Suunnattoman sukseen ja megasuosion saavuttanut YVA-07 raporttisaetti oli jo niin verraton setti, että kaipaa VÄLITÖNTÄ jatkoaan. Maamme brutaali tapaa sensuroida ydinkritiikiä on synnyttänyt pahaa verta aina muistamiimme Lipposhaukkujaisiin EU/Saksaa myöten. Siksi myös TEM/Posiva ja muut huolestuneet ydinterroriepäillyvarjostuneet haluavat turvata iloksemme Sisäministerikontroloinnin saavuttamattoman ja lehtisensuroinneista piittaamattoman VIRALISEN YDINKRITIIKIN KANAVAN suojelukseensa! Ja koska YVA-07 oli kiistaton kritiikinkannuksen suksee päättää siis Posiva/TEM ja itse valtiohallinto edustajiensa (ent. KTM)Jorma Aurelan, Posivan Äikään, Seppälän, Friiberien yms. ja vastaavien massiivisin verotukiaistuein toimeenpaneman kamppanjakoostein aukaista JÄLLEEN ovet ydinkritiikivyörystä saranoiltaan paiskovan vapaan ydinkritiikifoorumin! Haluatko, että SINUN kaukoviisaan ja Ytimekkään ydinvastaviisautesi kylkeen tulee Suomen karjuvan valtioleijonan vahvistama virallinen leimaus ja notuuli vapaaseen luentaan ilman Sisäministeriestoja? **Haluatko, että tulevassa ydinrikosoikeudenkäynnissä Haagissa ydinala vastaa juuri SINUN esittämiin ydinrikossyytteisiin ihmisyyttä vastaan? Varmista ihmeessä eturivin syyttäjän paikka lastemme riemuksi. Ylpeänä he voivat kertoa olleensa syyttämässä TVO/Posivoita jo ennen syntymäänsä kauttasi. Vielä vuosituhansien päästä varmistat materiaalisi säilymisen historiallisena raportina ajastaikaan ja olet ikiajan kiitelty ydinvastavirtuoosi ilman ajan hampaan purentaa. Kaiken tämän, ja paljon enemmän juuri sinulle haluaa ydinhallintomme/TEM taata kätösinsä vaivojaan säästämättä. Kaikki intomiellä mukaan. Ydinala pyytää raippoja, ennenkaikkea julkista ruoskintaa ja konstailemattoman aitoja syitä ydinvastaisen Suomen hurjaan järkiytymiseen ydinkritikitsunamein. Tällä kertaa teemamme olkoon:SATA VALITUSTA RIKKI, ettei TEM:n tarvitse enää huokailla H.S:n tiedotteensa mitättömänpienin alle sadan valituksin! * ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python
Re: [python] upper a lower
JJ staci dat unicode retazec. V ASCII znak ž neexistuje. JJ # -*- coding: utf8 -*- JJ import locale JJ print locale.setlocale(locale.LC_ALL, 'sk_SK.utf8') JJ print 'ž', 'ž'.upper() # nefunguje JJ print u'ž', u'ž'.upper() # funguje Zkusil jsem, ale pod WIN nefunguje. Napíše mi to: locale.Error: unsupported locale setting Možná proto, že cs_CZ.utf8 ani cs_CZ.UTF-8 tam neexistuje. Navíc print chr(142) vypíše Ž. Což mi ukazuje, že v ASCII cp1250 ž i Ž existuje. Asi sem to dobře nepochopil ? -- Mirek N. ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python
Re: [python] upper a lower
mtip napsal(a), dne 28.1.2009 10:21: Zdravím všechny přítomné v konferenci, narazil jsem na problém ve znakové sadě. Kód v modulu: # -*- coding: cp1250 -*- import locale print locale.setlocale(locale.LC_ALL, 'Czech_Czech Republic.1250') print 'ž', 'ž'.upper() Můžete mi prosím někdo vysvětlit proč to nevypisuje ž a Ž a co dělám za chybu ? Respektive jak mám porovnat shodnost malých a velkých písmen v unicode a nebo v str s nastavenou znakovou sadou ? možná pomůže http://www.py.cz/Cestina2X#azen-po-esku. Jinak funguje toto: # -*- coding: cp1250 -*- import locale # print locale.setlocale(locale.LC_ALL, 'Czech_Czech Republic.1250') print u'ž', u'ž'.upper() i toto: # -*- coding: cp1250 -*- import locale print locale.setlocale(locale.LC_ALL, 'Czech_Czech Republic.1250') print u'ž'.encode(cp1250), u'ž'.upper().encode(cp1250) Asi ne všude (myslím Linux), ale na win jo. -- geon Pavel Kosina ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python
Re: [python] upper a lower
A zkoušel jsi toto: print unicode(ž).upper() T. Dne 28.1.2009 11:20, mtip napsal(a): JJ staci dat unicode retazec. V ASCII znak ž neexistuje. JJ # -*- coding: utf8 -*- JJ import locale JJ print locale.setlocale(locale.LC_ALL, 'sk_SK.utf8') JJ print 'ž', 'ž'.upper() # nefunguje JJ print u'ž', u'ž'.upper() # funguje Zkusil jsem, ale pod WIN nefunguje. Napíše mi to: locale.Error: unsupported locale setting Možná proto, že cs_CZ.utf8 ani cs_CZ.UTF-8 tam neexistuje. Navíc print chr(142) vypíše Ž. Což mi ukazuje, že v ASCII cp1250 ž i Ž existuje. Asi sem to dobře nepochopil ? ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python
Re: [python] upper a lower
Možná jsem mimo, ale v jakém kódování je ten soubor-program a tedy to písnenu 'ž' vlastně uložen? Tohle # -*- coding: utf8 -*- říká poythonu že je to v utf8. Ale je to pravda? Není to náhodou cp1250? 'ž' Hex Dec Chr cp1250: 9E 158 ž 382 cp852: A7 167 ž 382 iso8859-2: BE 190 ž 382 UTF-8 (hex) 0xC5 0xBE (c5be) http://www.fileformat.info/info/unicode/char/017e/index.htm ZU Tomas Brabenec napsal(a): A zkoušel jsi toto: print unicode(ž).upper() T. Dne 28.1.2009 11:20, mtip napsal(a): JJ staci dat unicode retazec. V ASCII znak ž neexistuje. JJ # -*- coding: utf8 -*- JJ import locale JJ print locale.setlocale(locale.LC_ALL, 'sk_SK.utf8') JJ print 'ž', 'ž'.upper() # nefunguje JJ print u'ž', u'ž'.upper() # funguje Zkusil jsem, ale pod WIN nefunguje. Napíše mi to: locale.Error: unsupported locale setting Možná proto, že cs_CZ.utf8 ani cs_CZ.UTF-8 tam neexistuje. Navíc print chr(142) vypíše Ž. Což mi ukazuje, že v ASCII cp1250 ž i Ž existuje. Asi sem to dobře nepochopil ? ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python
Re: [python] upper a lower
mtip napsal(a), dne 28.1.2009 13:52: if re.search(u'ž', u'Ž',re.IGNORECASE): print 'stejne' else: print 'ruzne' re.search s IGNORECASE - nefunguje nikdy - locale nelocale u re.IGNORECASE je v manuálu napsáno: [...] This is not affected by the current locale. nejsem si příliš jist překladem, ale snad něco jako: nefunguje v locale. I kdyby to tak nebylo, chybí ti tam další přepínače: re.UNICODE|re.LOCALE|re.IGNORECASE Proč to tedy neuděláš takto, že nevynecháš sporné re.IGNORECASE, a nepoužiješ lower(): print bool(re.search(u'ž', u'Ž'.lower(),re.UNICODE|re.LOCALE)) Jen dodatek: pozor na to, že tisk někdy nefunguje proto, že nesedí kodování výstupu Pythonu a Shellu (ve win je to cp852). Důležitější pro tebe snad je, aby se to vnitřně chovalo správně, a že se to bude hůřeji tisknout, to je možná již podružné.. -- geon Pavel Kosina ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python