-
Data: 2020-04-15 03:36:35
Temat: Re: kolejne pytanie z pythona
Od: fir <p...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu środa, 15 kwietnia 2020 02:58:08 UTC+2 użytkownik fir napisał:
> mam dziwny problem (moze nie taki dziwny w sumie ale nie jestem przyzwczajony do
takich bledow)
>
> generalnie moj bot (w pythonie 2.7)
> czyta linijke z czata przez
>
> ircmsg = ircsock.recv(2048)
>
> i nic na tym nie robie nie wywoluje ani zadnego decode ani encode
>
> i np polskie litery w tym dzialaja (są) choc nie wiem jaki to format, moge wyciac
z tego np kawalek i wyslac do translatora google, odeslany tekst tez zawiera
egzotyczne znaki
>
> ten wygenerowany tekst odsylam przez
>
> ircsock.send(s.encode('UTF-8'))
>
> bez tego encode to to raczej nie dziala
> ale z tym encode dziala
>
> problem pojawia sie gdy te linijki w srodku
> wstawiam do slownika ktory zapisuje do pliku json na dysk
>
> czytam i zapisuje ten json ze tak powiem normalnie bez zadnych udziwnien
>
> bo jesli chce dodac "KóKó" do tego slowniek ai zapisac toz apisze sie to normalnie,
natomiast gdy chce to odczytac i wyslac na kanal to robie
>
> s = bot_memory[key]
> say(s.decode('UTF-8'))
>
> bez tego decode nie dziala (leci blad)
> z tym decode co prawda tez leci blad tylko inny
>
> (przy czym moze dodam ze slownik czytam tylko raz na strcie programu z dsku,
natomiast zapisuje przy kazdym wstawieniu tekstu)
>
> jesli jest to decode to moge zapisywac wpisy na dysk i moge je czytac ze slowniek i
wyswietlac na kanal - ale tylko poki nie zamkne bota i nie wczytam tego z dysku,
wtedy przy probie odczytania wpisu i wyslania go na kanal z tego leci blad (ascii
codect cant encode...)
>
> z kolei jak to decode wywale jest
> odwrotnie, po uruchomieniu boyta moge
> wysylac zapisane za poprzednim razem wpisy na kanal ale nie moge zapisac i odczytac
nowego, tj dokladniej w pliku tez sie zapisuje ale odczytanie go ze slownika i proba
poslania na kanal dale blad (ascii codec cant decode...)
>
> o co tu chodzi? jak to naprawic?
ok po napisaniu tego wyzej jakas luzna dedukcja sklonila mnie do wniosku ze skoro w
pliku jest dobrze (a chyab mozna tak zalozyc) to wersja
s = bot_memory[key]
say(s)
jest poprawniejsza (chwilowo te leko zagmatwane dedukcje mi sie lekko zgubily)
i ze widac cos ze wstawianiem do slwnika moze jest nie tak
sprobowalem
bot_memory[key]=value.decode('UTF-8')
save_bot_memory()
przy wstawianiu i chyba dziala ok, nie zebym super do konca rozumial o co tu chodzi
trzeba dodac ze te nazwy encode i decode sa dosyc mylace
wyglada na to ze tw stringi ktore lataja w srodku programu to utf8 , a te wstawiane
do slownika nalezy przerabiac na bajty? inna lekka dziwnosc to tak jakby z tego
socketa do czytania juz wychodzilo utf-8 przy wysylaniu przerabiam na bajty a przy
czytaniu nie musze z bajtow na utf8?
dibrze ze chociaz chyba dziala
Następne wpisy z tego wątku
- 15.04.20 12:54 g...@g...com
- 15.04.20 13:45 fir
- 15.04.20 14:48 g...@g...com
- 15.04.20 15:01 fir
- 15.04.20 15:53 g...@g...com
- 15.04.20 17:01 fir
- 15.04.20 21:14 Piotr Chamera
- 15.04.20 21:27 Piotr Chamera
- 17.04.20 21:04 Maciej Sobczak
Najnowsze wątki z tej grupy
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
Najnowsze wątki
- 2024-12-21 Bieruń => Spedytor Międzynarodowy (handel ładunkami/prowadzenie flo
- 2024-12-21 Warszawa => Java Developer <=
- 2024-12-21 Zalesie Borowe => Medical Equipment Service Engineer <=
- 2024-12-21 Żerniki => Specjalista ds. Employer Brandingu <=
- 2024-12-21 jak tacy debile
- 2024-12-20 Precedensy politycznie motywowanego nie wydawania w UE
- 2024-12-20 Obrońcy
- 2024-12-20 Obrońcy
- 2024-12-20 Obrońcy
- 2024-12-20 Gdańsk => Inżynier bezpieczeństwa aplikacji <=
- 2024-12-20 czyste powietrze
- 2024-12-20 Katowice => Analyst in the Trade Development department (experience wi
- 2024-12-20 Opole => Inżynier Serwisu Sprzętu Medycznego <=
- 2024-12-20 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2024-12-20 Rzeszów => International Freight Forwarder <=