Article View: pl.comp.lang.python
Article #27524Re: String, unicode, dziwny problem i 5 pytań - długie
From: Jan Kaliszewski
Date: Tue, 22 Jun 2010 21:48
Date: Tue, 22 Jun 2010 21:48
43 lines
2798 bytes
2798 bytes
On Sun, 20 Jun 2010 20:25:29 +0200, Waldek M. <wm@localhost.localdomain> wrote: > Dnia Fri, 18 Jun 2010 15:29:19 +0200, Gallus Anonimus napisał(a): >> Reszty teraz nie przeczytam, ale tak na szybko to tu masz buraka w tym >> kodzie. Powinno być tak: >> >> #-*- coding:utf-8 -*- >> >> print u"Gotówka wysłane" >> >> Czyli tekst będzie interpretowany jako unikodowy (literka u przed >> cudzysłwem) > > W nowszych Pytongach unicode jest domyślne, o ile dobrze pamiętam. To mocno nieścisłe stwierdzenie. W tym wypadku "w nowszych" == Python 3.x A domyślne jest w tym sensie, że: * podstawowy typ napisowy to 'str' -- z tym, że jest to ten typ, który w Py 2.x nazywał się 'unicode' (tak jak już napisałem w którymś z postów 'str' z Py 2.x zostało usunięte; w jego miejsce pojawia się typ bytes, który, zasadniczo przeznaczony do danych binarnych a nie tekstowych); Z tego, że standardowe stringi są unicodowe, wynika w Pythonie 3.x również to, że nie są już używane literały z 'u' przed cudzysłowem. * domyślnym kodowaniem źródeł jest utf-8 (a nie ascii, jak w 2.x); co fajne, nazwy zmiennych (pythonowe identyfikatory) mogą zawierać dowolne litery unicodowe -- nie tylko łacińskie, a więc zmienna może się nazywać np. 'żółw' lub 'бабушка'. * kodowanie domyślne zwracane przez sys.getdefaultencoding() wydaje się być również ustawione na 'utf-8' a nie 'ascii' jak w Py 2.x; przynajmniej tak jest u mnie (Debian testing) -- w dokumentacji Pythona nie widzę nic o tym, czy jest to zawsze 'utf-8'; to ustawienie ma co prawda i tak ma znacznie mniejsze znaczenie, niż w Py 2.x, bo w Py 3.x nie ma niejawnej automatycznej konwersji str <-> bytes (kodowanie z sys.getdefaultencoding() było w Py 2.x stosowane przy niejawnej automatycznej konwersji unicode <-> str). pozdr. *j
Technical Details
Message-ID:
<op.vep1ieigfvx12t@jerzozwiesz.localdomain>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!pingwin.aster.pl!newsread1.aster.pl!not-for-mailReferences:
<hvb8o0$roo$1@node2.news.atman.pl> <josm16dm3smbi6qaunicp4ofioo9nogc1r@4ax.com> <11cfczm9cq2ac$.dlg@localhost.localdomain>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!pingwin.aster.pl!newsread1.aster.pl!not-for-mail From: "Jan Kaliszewski" <zuo@chopin.edu.pl> Newsgroups: pl.comp.lang.python Subject: Re: String, unicode, dziwny problem i 5 pytań - długie Date: Tue, 22 Jun 2010 23:48:04 +0200 Organization: Aster Sp. z o.o. Lines: 43 Message-ID: <op.vep1ieigfvx12t@jerzozwiesz.localdomain> References: <hvb8o0$roo$1@node2.news.atman.pl> <josm16dm3smbi6qaunicp4ofioo9nogc1r@4ax.com> <11cfczm9cq2ac$.dlg@localhost.localdomain> NNTP-Posting-Host: 62.121.72.3 Mime-Version: 1.0 X-Trace: newsread1.aster.pl 1277243134 13624 62.121.72.3 (22 Jun 2010 21:45:34 GMT) X-Complaints-To: abuse@aster.pl NNTP-Posting-Date: Tue, 22 Jun 2010 21:45:34 +0000 (UTC) User-Agent: Opera Mail/10.10 (Linux) Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit