Article View: pl.comp.lang.python
Article #27098Re: Kodowanie stringu pod windows i linux
From: Michal M
Date: Wed, 23 Dec 2009 07:07
Date: Wed, 23 Dec 2009 07:07
48 lines
3193 bytes
3193 bytes
On 23 Gru, 07:58, Michal M <mmier...@tycowaterworks.pl> wrote:
> On 22 Gru, 23:29, Łukasz Rekucki <lreku...@gmail.com> wrote:
>
>
>
>
>
> > On Dec 22, 10:52 pm, Michal M <mier...@swietochlowice.org> wrote:
>
> > > Witam,
>
> > > Mam program który string unicode koduje do innych formatów (nie
> > > wypisuje tego) (windows-1250 i iso-5589-2). Pod Windows wszystko
> > > działa, pod Linux wywala błąd na txt.encode("windows-1250","replace")
> > > (i iso pewnie też):
>
> > > File "/usr/local/lib/python2.6/encodings/cp1250.py", line 12, in
> > > encode
> > > return codecs.charmap_encode(input,errors,encoding_table)
> > > UnicodeDecodeError: 'ascii' codec can't decode byte 0xc5 in position
> > > 3: ordinal not in range(128)
>
> > > To samo ze shella pythona (puszczony w utf-8)
> > > "ĄĆ".encode("windows-1250")
>
> > > Pomocy!
>
> > W serii 2.x "ąć" to nie napis unicode, więc encode (poza np. base64)
> > nie ma sensu dla ciągu bajtów. u"ąć" to jest napis unicode.- Ukryj cytowany tekst -
>
> > - Pokaż cytowany tekst -
>
> Czyli muszę dodać u" mimo, iż napis jest w unicode. Ok, a jak to
> zrobić ze stringami wczytywanymi z pliku?
> Nie mogę dodać 'u' przed nazwą zmiennej raczej.- Ukryj cytowany tekst -
>
> - Pokaż cytowany tekst -
Hmm z pierwszych prób, zgaduję, (mając na uwadze obie Wasze
odpowiedzi), że jeśli mam tekst w zmiennej i jest on w unicode to
muszę najpierw powiedzieć pythonowi, że jest w unicode a później
dopiero zakodować? To by wyglądało tak
a = "ĄĆ"
print a.decode("utf-8").encode("windows-1250")
Powalczę z tym. Wszelkie uwagi mile widziane i dziąkuję Wam za
odpowiedzi.
Technical Details
Message-ID:
<4fdee0c5-d7e2-4823-9878-6b3ce96094bc@d10g2000yqh.googlegroups.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!feed.news.interia.pl!news.nask.pl!news.nask.org.pl!newsfeed00.sul.t-online.de!t-online.de!border2.nntp.dca.giganews.com!nntp.giganews.com!postnews.google.com!d10g2000yqh.googlegroups.com!not-for-mailReferences:
<f20bf1d1-7b95-4134-8480-402e8cf72630@a32g2000yqm.googlegroups.com> <d38ff7b6-eef8-4952-a1c8-183d3b9e432d@v13g2000yqk.googlegroups.com> <7d25fecc-0503-401e-aa9c-ca2764689842@d10g2000yqh.googlegroups.com>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!feed.news.interia.pl!news.nask.pl!news.nask.org.pl!newsfeed00.sul.t-online.de!t-online.de!border2.nntp.dca.giganews.com!nntp.giganews.com!postnews.google.com!d10g2000yqh.googlegroups.com!not-for-mail From: Michal M <mmierzwa@tycowaterworks.pl> Newsgroups: pl.comp.lang.python Subject: Re: Kodowanie stringu pod windows i linux Date: Tue, 22 Dec 2009 23:07:38 -0800 (PST) Organization: http://groups.google.com Lines: 52 Message-ID: <4fdee0c5-d7e2-4823-9878-6b3ce96094bc@d10g2000yqh.googlegroups.com> References: <f20bf1d1-7b95-4134-8480-402e8cf72630@a32g2000yqm.googlegroups.com> <d38ff7b6-eef8-4952-a1c8-183d3b9e432d@v13g2000yqk.googlegroups.com> <7d25fecc-0503-401e-aa9c-ca2764689842@d10g2000yqh.googlegroups.com> NNTP-Posting-Host: 206.18.173.3 Mime-Version: 1.0 X-Trace: posting.google.com 1261552058 31900 127.0.0.1 (23 Dec 2009 07:07:38 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Wed, 23 Dec 2009 07:07:38 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: d10g2000yqh.googlegroups.com; posting-host=206.18.173.3; posting-account=dY1QvgoAAADCWl8YwEq83L_41SxqMaon User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; MS-RTC LM 8) chromeframe/4.0,gzip(gfe),gzip(gfe) Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit