Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > pl.comp.programming > #29048

Re: python i stringi

From Piotr Chamera <piotr_chamera@poczta.onet.pl>
Newsgroups pl.comp.programming
Subject Re: python i stringi
Date 2016-10-06 12:14 +0200
Organization A noiseless patient Spider
Message-ID <nt584q$gi$1@dont-email.me> (permalink)
References <19jwk9uqtvyxa.dlg@tyczka.com> <c6b8c3a0-596d-445b-9951-5c16248b11b9@googlegroups.com> <zdk42d2gkady.dlg@tyczka.com> <aba1993f-ebae-4a5c-88d3-42b46e803a3a@googlegroups.com> <8uxdbqmk73pz.dlg@tyczka.com>

Show all headers | View raw


W dniu 2016-10-06 o 10:44, Roman Tyczka pisze:
> On Thu, 6 Oct 2016 01:32:07 -0700 (PDT), godek.maciek@gmail.com wrote:
>
>> W dniu czwartek, 6 października 2016 10:19:26 UTC+2 użytkownik Roman Tyczka
>>>>>>>> ustr = u"Jeszcze dłuższy i bardzo długi string z ółęść oraz ;%$#@[ i innymi znakami 0099786764553 na końcu"
>>>>>>>> type(ustr)
>>>>> <type 'unicode'>
>>>>>>>> hashlib.md5(ustr).hexdigest()
>>>>> Traceback (most recent call last):
>>>>>   File "<stdin>", line 1, in <module>
>>>>> UnicodeEncodeError: 'ascii' codec can't encode character u'\u0142' in
>>>>> position 9: ordinal not in range(128)
>>>>>
>>>>> Jak wybrnąć i policzyć jednak tego hasha?
>>>>>
>>>>> ps. python 2.7.9 na windows
>>>>
>>>> może np. google python unicode to ascii
>>>
>>> Po pierwsze nie da się konwertować unicode do ascii.
>>>
>>> Poza tym ja nic nie chcę konwertować, chcę by był potraktowany jako
>>> unicodowy właśnie, czyli de facto dwubajtowy znak.
>>
>> to może google python unicode to bytes
>> python bytes to string
>> python md5 unicode
>
> Jeśli chcesz mi utrzeć nosa tym googlem to ...hmmm, niepotrzebnie. Od
> googla zacząłem. Ale ok, może grupa dyskusyjna służy tylko do kłótni o
> pascala.
> Tak czy owak problem rozwiązałem, nie konwertując do ascii czy tablicy
> bajtów, ale poprawnie deklarując typ unicodowego stringa. I na taką
> praktyczną radę liczyłem.

Dla jasności – nie zadeklarowałeś typu unicodowego stringa, ale za 
pomocą metody (encode) obiektu (ustr, typu unicode) utworzyłeś nowy
ciąg bajtów reprezentujący ten ciąg znaków w kodowaniu, które podałeś 
jako argument metody. Obiekt pod zmienną „ustr” pozostał niezmieniony.

> Dla potomnych:
>
> ustr = u"Jeszcze dłuższy i bardzo długi string z ółęść oraz ;%$#@[ i innymi
> znakami 0099786764553 na końcu".encode('utf-16le')
>
> i ten mały indianin zrobił swoją robotę :-)
>

Back to pl.comp.programming | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

python i stringi Roman Tyczka <noemail@because.no> - 2016-10-06 09:46 +0200
  Re: python i stringi godek.maciek@gmail.com - 2016-10-06 01:10 -0700
    Re: python i stringi Roman Tyczka <noemail@because.no> - 2016-10-06 10:19 +0200
      Re: python i stringi godek.maciek@gmail.com - 2016-10-06 01:32 -0700
        Re: python i stringi Roman Tyczka <noemail@because.no> - 2016-10-06 10:44 +0200
          Re: python i stringi Piotr Chamera <piotr_chamera@poczta.onet.pl> - 2016-10-06 12:14 +0200
            Re: python i stringi Roman Tyczka <noemail@because.no> - 2016-10-06 12:32 +0200
              Re: python i stringi Piotr Chamera <piotr_chamera@poczta.onet.pl> - 2016-10-06 13:22 +0200
  Re: python i stringi Piotr Chamera <piotr_chamera@poczta.onet.pl> - 2016-10-06 10:57 +0200
    Re: python i stringi Roman Tyczka <noemail@because.no> - 2016-10-06 11:22 +0200
      Re: python i stringi Piotr Chamera <piotr_chamera@poczta.onet.pl> - 2016-10-06 11:50 +0200

csiph-web