🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.python
Article #27524

Re: String, unicode, dziwny problem i 5 pytań - długie

#27524
From: Jan Kaliszewski
Date: Tue, 22 Jun 2010 21:48
43 lines
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-mail
References: <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