- 
 1. Data: 2016-10-06 09:46:24
 Temat: python i stringi
 Od: Roman Tyczka <n...@b...no>
 Witam, 
 
 Używam czasami pythonowej konsoli jako kalkulatora, teraz zapragnąłem
 policzyć md5 unicodowego stringa, jednak nie znam pythona jeszcze zbytnio i
 się zawiesiłem:
 
 >>> import hashlib
 >>> 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
 
 --
 pozdrawiam
 Roman Tyczka
 
- 
 2. Data: 2016-10-06 10:10:29
 Temat: Re: python i stringi
 Od: g...@g...com
 W dniu czwartek, 6 października 2016 09:46:26 UTC+2 użytkownik Roman Tyczka napisał: 
 > Witam,
 >
 > Używam czasami pythonowej konsoli jako kalkulatora, teraz zapragnąłem
 > policzyć md5 unicodowego stringa, jednak nie znam pythona jeszcze zbytnio i
 > się zawiesiłem:
 >
 > >>> import hashlib
 > >>> 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
 
- 
 3. Data: 2016-10-06 10:19:25
 Temat: Re: python i stringi
 Od: Roman Tyczka <n...@b...no>
 On Thu, 6 Oct 2016 01:10:29 -0700 (PDT), g...@g...com wrote: 
 
 >>>>> 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.
 
 --
 pozdrawiam
 Roman Tyczka
 
- 
 4. Data: 2016-10-06 10:32:07
 Temat: Re: python i stringi
 Od: g...@g...com
 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
 
- 
 5. Data: 2016-10-06 10:44:12
 Temat: Re: python i stringi
 Od: Roman Tyczka <n...@b...no>
 On Thu, 6 Oct 2016 01:32:07 -0700 (PDT), g...@g...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 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ę :-)
 
 --
 pozdrawiam
 Roman Tyczka
 
- 
 6. Data: 2016-10-06 10:57:07
 Temat: Re: python i stringi
 Od: Piotr Chamera <p...@p...onet.pl>
 W dniu 2016-10-06 o 09:46, Roman Tyczka pisze: 
 > Witam,
 >
 > Używam czasami pythonowej konsoli jako kalkulatora, teraz zapragnąłem
 > policzyć md5 unicodowego stringa, jednak nie znam pythona jeszcze zbytnio i
 > się zawiesiłem:
 >
 >>>> import hashlib
 >>>> 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
 >
 
 np tak:
 >>> hashlib.md5(ustr.encode(encoding="utf-8", errors="strict")).hexdigest()
 
 '32857a03910f204bd5adc4cb2ec2bce8'
 
 lub tak:
 >>> hashlib.md5(ustr.encode(encoding="utf-16",
 errors="strict")).hexdigest()
 
 '5da8f084e4da17f9441beccf2fa8b437'
 
 czyli trzeba jawnie skonwertować tekst unicode do takiego formatu, z
 jakiego chcemy liczyć md5
 
- 
 7. Data: 2016-10-06 11:22:07
 Temat: Re: python i stringi
 Od: Roman Tyczka <n...@b...no>
 On Thu, 6 Oct 2016 10:57:07 +0200, Piotr Chamera wrote: 
 
 >> Jak wybrnąć i policzyć jednak tego hasha?
 >>
 >> ps. python 2.7.9 na windows
 >>
 >
 > np tak:
 > >>> hashlib.md5(ustr.encode(encoding="utf-8", errors="strict")).hexdigest()
 >
 > '32857a03910f204bd5adc4cb2ec2bce8'
 >
 > lub tak:
 > >>> hashlib.md5(ustr.encode(encoding="utf-16",
 > errors="strict")).hexdigest()
 >
 > '5da8f084e4da17f9441beccf2fa8b437'
 >
 > czyli trzeba jawnie skonwertować tekst unicode do takiego formatu, z
 > jakiego chcemy liczyć md5
 
 A jaki jest domyślny format, gdy zmienną utworzyłem tak:
 
 >>> ustr = u"Jeszcze dłuższy i bardzo długi string z ółęść oraz ;%$#@[ i innymi
 znakami 0099786764553 na końcu"
 >>> type(ustr)
 <type 'unicode'>
 
 To jest utf-8? 16? 32?
 
 --
 pozdrawiam
 Roman Tyczka
 
- 
 8. Data: 2016-10-06 11:50:55
 Temat: Re: python i stringi
 Od: Piotr Chamera <p...@p...onet.pl>
 W dniu 2016-10-06 o 11:22, Roman Tyczka pisze: 
 > On Thu, 6 Oct 2016 10:57:07 +0200, Piotr Chamera wrote:
 >
 >>> Jak wybrnąć i policzyć jednak tego hasha?
 >>>
 >>> ps. python 2.7.9 na windows
 >>>
 >>
 >> np tak:
 >> >>> hashlib.md5(ustr.encode(encoding="utf-8", errors="strict")).hexdigest()
 >>
 >> '32857a03910f204bd5adc4cb2ec2bce8'
 >>
 >> lub tak:
 >> >>> hashlib.md5(ustr.encode(encoding="utf-16",
 >> errors="strict")).hexdigest()
 >>
 >> '5da8f084e4da17f9441beccf2fa8b437'
 >>
 >> czyli trzeba jawnie skonwertować tekst unicode do takiego formatu, z
 >> jakiego chcemy liczyć md5
 >
 > A jaki jest domyślny format, gdy zmienną utworzyłem tak:
 >
 >>>> ustr = u"Jeszcze dłuższy i bardzo długi string z ółęść oraz ;%$#@[ i innymi
 znakami 0099786764553 na końcu"
 >>>> type(ustr)
 > <type 'unicode'>
 >
 > To jest utf-8? 16? 32?
 >
 String na wejściu jest wg kodowania ustawionego na konsoli lub w pliku
 (często jest to utf-8, w pythonie 3 pliki źródłowe domyślnie są czytane
 jako utf-8, w 2.x trzeba to było zadeklarować na początku pliku)
 konwertowany do wewnętrznej reprezentacji.
 
 String unicode w pythonie potrafi reprezentować wszystkie znaki
 standardu unicode (chyba), ale nie wiemy (nie potrzebujemy wiedzieć) w
 jakim formacie jest trzymany w pamięci (czy jako liczba 32 bitowa w
 wersji 32bit, a 64 bitowa na procesorach 64 bit, czy jakiś inny obiekt).
 
 Jeśli potrzebujemy konwersji na ciąg w określonym formacie, musimy to
 jawnie przekodować na ciąg bajtów, np.:
 >>> ustr.encode(encoding="utf-32", errors="strict")
 '\xff\xfe\x00\x00J\x00\x00\x00e\x00\x00\x00s\x00\x00
 \x00z\x00\x00\x00c\x00\x00\x00z\x00\x00\x00e\x00\x00
 \x00
 \x00\x00\x00d\x00\x00\x00B\x01\x00\x00u\x00\x00\x00|
 \x01\x00\x00s\x00\x00\x00z\x00\x00\x00y\x00\x00\x00
 \x00\x00\x00i\x00\x00\x00
 \x00\x00\x00b\x00\x00\x00a\x00\x00\x00r\x00\x00\x00d
 \x00\x00\x00z\x00\x00\x00o\x00\x00\x00
 \x00\x00\x00d\x00\x00\x00B\x01\x00\x00u\x00\x00\x00g
 \x00\x00\x00i\x00\x00\x00
 \x00\x00\x00s\x00\x00\x00t\x00\x00\x00r\x00\x00\x00i
 \x00\x00\x00n\x00\x00\x00g\x00\x00\x00
 \x00\x00\x00z\x00\x00\x00
 \x00\x00\x00\xf3\x00\x00\x00B\x01\x00\x00\x19\x01\x0
 0\x00[\x01\x00\x00\x07\x01\x00\x00
 \x00\x00\x00o\x00\x00\x00r\x00\x00\x00a\x00\x00\x00z
 \x00\x00\x00
 \x00\x00\x00;\x00\x00\x00%\x00\x00\x00$\x00\x00\x00#
 \x00\x00\x00@\x00\x00\x00[\x00\x00\x00
 \x00\x00\x00i\x00\x00\x00
 \x00\x00\x00i\x00\x00\x00n\x00\x00\x00n\x00\x00\x00y
 \x00\x00\x00m\x00\x00\x00i\x00\x00\x00
 \x00\x00\x00z\x00\x00\x00n\x00\x00\x00a\x00\x00\x00k
 \x00\x00\x00a\x00\x00\x00m\x00\x00\x00i\x00\x00\x00
 \x00\x00\x000\x00\x00\x000\x00\x00\x009\x00\x00\x009
 \x00\x00\x007\x00\x00\x008\x00\x00\x006\x00\x00\x007
 \x00\x00\x006\x00\x00\x004\x00\x00\x005\x00\x00\x005
 \x00\x00\x003\x00\x00\x00
 \x00\x00\x00n\x00\x00\x00a\x00\x00\x00
 \x00\x00\x00k\x00\x00\x00o\x00\x00\x00D\x01\x00\x00c
 \x00\x00\x00u\x00\x00\x00'
 
- 
 9. Data: 2016-10-06 12:14:00
 Temat: Re: python i stringi
 Od: Piotr Chamera <p...@p...onet.pl>
 W dniu 2016-10-06 o 10:44, Roman Tyczka pisze: 
 > On Thu, 6 Oct 2016 01:32:07 -0700 (PDT), g...@g...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ę :-)
 >
 
 
- 
 10. Data: 2016-10-06 12:32:03
 Temat: Re: python i stringi
 Od: Roman Tyczka <n...@b...no>
 On Thu, 6 Oct 2016 12:14:00 +0200, Piotr Chamera wrote: 
 
 >> 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.
 
 Obiekt został zmieniony, ale nie w sensie adresu/instancji, lecz zmienił
 się jego stan wewnętrzny, czyli tablica bajtów zawierająca łańcuch :-)
 
 thx za pomoc
 
 --
 pozdrawiam
 Roman Tyczka
 


 do góry
 do góry![Jak reklamować ośrodek wypoczynkowy lub hotel? [© kadmy - fotolia.com] Jak reklamować ośrodek wypoczynkowy lub hotel?](https://s3.egospodarka.pl/grafika2/reklama-internetowa/Jak-reklamowac-osrodek-wypoczynkowy-lub-hotel-221435-150x100crop.jpg) 
![Ranking lokat i kont oszczędnościowych. Przegląd możliwości dostępnych we wrześniu 2025 [© freepik] Ranking lokat i kont oszczędnościowych. Przegląd możliwości dostępnych we wrześniu 2025](https://s3.egospodarka.pl/grafika2/najlepsze-lokaty/Ranking-lokat-i-kont-oszczednosciowych-Przeglad-mozliwosci-dostepnych-we-wrzesniu-2025-268649-150x100crop.jpg) 
![Ranking kantorów internetowych. Gdzie najlepsze kursy walut? [© Pavel Bobrovskiy - Fotolia.com] Ranking kantorów internetowych. Gdzie najlepsze kursy walut?](https://s3.egospodarka.pl/grafika2/kantory-internetowe/Ranking-kantorow-internetowych-Gdzie-najlepsze-kursy-walut-218154-150x100crop.jpg) 
![Podatek od wynajmu mieszkania 2023 - jakie stawki i formy opodatkowania? [© Africa Studio - Fotolia.com] Podatek od wynajmu mieszkania 2023 - jakie stawki i formy opodatkowania?](https://s3.egospodarka.pl/grafika2/wynajem-mieszkania/Podatek-od-wynajmu-mieszkania-2023-jakie-stawki-i-formy-opodatkowania-249032-150x100crop.jpg) 
 Elektromobilność dojrzewa. Auta elektryczne kupujemy z rozsądku, nie dla idei
Elektromobilność dojrzewa. Auta elektryczne kupujemy z rozsądku, nie dla idei 
 
 
 
![Milion na koncie? Wystarczyło inwestować po około 2 tysiące miesięcznie [© wygenerowane przez AI] Milion na koncie? Wystarczyło inwestować po około 2 tysiące miesięcznie](https://s3.egospodarka.pl/grafika2/oszczedzanie-pieniedzy/Milion-na-koncie-Wystarczylo-inwestowac-po-okolo-2-tysiace-miesiecznie-269397-150x100crop.jpg) 
![Wynajem mieszkania w Warszawie pochłania 44% pensji. Zobacz, jak wypadamy na tle Europy [© pixabay] Wynajem mieszkania w Warszawie pochłania 44% pensji. Zobacz, jak wypadamy na tle Europy](https://s3.egospodarka.pl/grafika2/rynek-najmu/Wynajem-mieszkania-w-Warszawie-pochlania-44-pensji-Zobacz-jak-wypadamy-na-tle-Europy-269391-150x100crop.jpg) 
![Lot z niespodzianką - jak overbooking zmienia podróż i jakie prawa mają pasażerowie? [© wygenerowane przez AI] Lot z niespodzianką - jak overbooking zmienia podróż i jakie prawa mają pasażerowie?](https://s3.egospodarka.pl/grafika2/prawa-pasazera/Lot-z-niespodzianka-jak-overbooking-zmienia-podroz-i-jakie-prawa-maja-pasazerowie-269384-150x100crop.jpg) 
![Lider z sercem: empatia i zaufanie jako klucz do sukcesu zespołu [© wygenerowane przez AI] Lider z sercem: empatia i zaufanie jako klucz do sukcesu zespołu](https://s3.egospodarka.pl/grafika2/lider/Lider-z-sercem-empatia-i-zaufanie-jako-klucz-do-sukcesu-zespolu-269133-150x100crop.png) 
![Bańka AI za 5 bilionów dolarów: Kiedy inwestorzy powiedzą: sprawdzam? [© wygenerowane przez AI] Bańka AI za 5 bilionów dolarów: Kiedy inwestorzy powiedzą: sprawdzam?](https://s3.egospodarka.pl/grafika2/AI/Banka-AI-za-5-bilionow-dolarow-Kiedy-inwestorzy-powiedza-sprawdzam-269382-150x100crop.png) 
 


