🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

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

#27528
From: Jan Kaliszewski
Date: Fri, 18 Jun 2010 23:31
67 lines
2852 bytes
***************************************************************************
Errata, bardzo przepraszam, niedospanie :(
[przyklady od czwartego do szóstego powinny zawierać "jaźń" a *nie* u"jaźń"
inaczej gubi się cały sens; przesyłąm jeszcze raz cały post, poprzednią
wersję proszę zapomnieć :)]
***************************************************************************

PS2. Jeszcze uwaga do fragmentu mojego posta z  
"...JAKIES_KODOWANIE_ZRODEL..."

-- chodziło mi o zobrazowanie tego, że stosowanie literałów unikodowych
(z literą u przed cudzysłowem, np. u"żółć" czy u'jaźń') uniezależnia  
wartość
tak tworzonej zmiennej napisowej od tego, jakie jest kodowanie źródeł  
programu.

Wszystkie poniższe fragmenty kodu przypiszą zmiennej `a` *identyczną*  
zawartość:


     # coding: utf-8
     a = u"jaźń"
     for element in a:
         print ord(element)
     # ^ wypisano 4 wartości (unikodowe code point'y): 106, 96, 378, 324


     # coding: iso-8859-2
     a = u"jaźń"
     for element in a:
         print ord(element)
     # ^ wypisano 4 wartości (unikodowe code point'y): 106, 96, 378, 324


     # coding: cp1250
     a = u"jaźń"
     for element in a:
         print ord(element)
     # ^ wypisano 4 wartości (unikodowe code point'y): 106, 96, 378, 324


Natomiast każdy z poniższych przypisze zmiennej `a` *inną* zawartość:


     # coding: utf-8
     a = "jaźń"
     for element in a:
         print ord(element)
     # wypisano 6 liczb: 106, 96, 197, 186, 197, 132


     # coding: iso-8859-2
     a = "jaźń"
     for element in a:
         print ord(element)
     # wypisano 4 liczby: 106, 96, 188, 241


     # coding: cp1250
     a = "jaźń"
     for element in a:
         print ord(element)
     # wypisano 4 liczby: 106, 96, 159, 241


--
Jan Kaliszewski (zuo)
Technical Details
Message-ID: <op.veirm3lhfvx12t@jerzozwiesz.localdomain>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.nask.pl!news.nask.org.pl!plix.pl!newsfeed1.plix.pl!nntp.aster.pl!newsread.aster.pl!newsread1.aster.pl!not-for-mail
References: <hvb91g$rpp$1@node2.news.atman.pl> <op.veidzb06fvx12t@jerzozwiesz.localdomain>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.nask.pl!news.nask.org.pl!plix.pl!newsfeed1.plix.pl!nntp.aster.pl!newsread.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: Sat, 19 Jun 2010 01:31:41 +0200
Organization: Aster Sp. z o.o.
Lines: 67
Message-ID: <op.veirm3lhfvx12t@jerzozwiesz.localdomain>
References: <hvb91g$rpp$1@node2.news.atman.pl> <op.veidzb06fvx12t@jerzozwiesz.localdomain>
NNTP-Posting-Host: 62.121.72.3
Mime-Version: 1.0
X-Trace: newsread.aster.pl 1276903763 97167 212.76.33.132 (18 Jun 2010 23:29:23 GMT)
X-Complaints-To: abuse@aster.pl
NNTP-Posting-Date: Fri, 18 Jun 2010 23:29:23 +0000 (UTC)
User-Agent: Opera Mail/10.10 (Linux)
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit