🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.asm
Article #2624

Re: Konwerter txt do UTF 8

#2624
From: Bogdan (bogdro)
Date: Mon, 28 Mar 2022 16:59
69 lines
3638 bytes
W dniu 28.03.2022 o 09:36, Kamil pisze:
> Użytkownik "Bogdan (bogdro)"  napisał:
> 
>>  I to jest właśnie to, co poruszyłem w mojej "drugiej istotnej 
>> idei": przeszukujesz bufor wejściowy znak po znaku, ale po JEGO 
>> znaku, a NIE po znaku, który przerabiasz (tj. "ą", "ć", ...).
> 
> Co to znaczy "przeszukujesz"? Czytam znak po znaku porównując go z 
> założonym kryterium. Jeśli warunek nie jest spełniony, zapisuję znak 
> bez zmian, a jeśli spełniony zapisuję znak w postaci jego 
> reprezentacji w UTF 8.


Tak.


>> Jeśli przerabiasz najpierw wszystkie "ą", potem wszystkie "ć", potem 
>> "ę" itd., to faktycznie tworzy to problemy, o których obaj mówimy -
> j> ak "wiedzieć", gdzie teraz zapisać wynik.
> 
>>  Ja zaś proponuję coś, co można by zapisać pseudokodem:
> 
>> odczytać plik wejściowy do bufora input
> 
>> i = 0;  // indeks do bufora wejściowego
>> o = 0;  // indeks do bufora wyjściowego
> 
>> while i < długość input
>> if input[i] = 'ą'
>> output[o] = "&#XXX;";
>> o = o + 6;
>> else if input[i] = 'ć'
>> output[o] = "&#XXX;";
>> o = o + 6;
>> .....
>> end while
> 
>> zapisać bufor output do pliku wyjściowego
> 
>> Dzięki takiemu podejściu nie musisz za każdą nową literą zaczynać 
>> znów zapisywać do output i uważać, pod jaki adres zapisujesz (tj. 
>> pamiętać, ile zmienionych liter było już do tej pory).
> 
> To już opisałem wcześniej:
> 
> Jeśli by procedura mogła szukać wszystkich znaków trzeba by było 
> wprowadzić
> zmienne zawierające wartości liczników, korygowane po każdym 
> znalezionym znaku.


Tak, to co nazwałem "i" oraz "o" w pseudo-kodzie.


> To skomplikowane i niepewne.


Co kto lubi. Mi łatwiej sterować dwiema zmiennymi do dwóch buforów, 
niż mieć jedną i "jeździć" z nią w przód i w tył. Jeśli inny sposób 
będzie dla Ciebie wygodniejszy, to go użyj.

[...]


-- 
Regards - Bogdan ('bogdro') D.                 (GNU/Linux & FreeDOS)
X86 assembly (DOS, GNU/Linux):    http://bogdro.evai.pl/index-en.php
Soft(EN): http://bogdro.evai.pl/soft  http://bogdro.evai.pl/soft4asm
www.Xiph.org  www.TorProject.org  www.LibreOffice.org  www.GnuPG.org
Technical Details
Message-ID: <t1spgn$9c9$1@gioia.aioe.org>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.man.lodz.pl!newsfeed.pionier.net.pl!3.eu.feeder.erje.net!feeder.erje.net!weretis.net!feeder8.news.weretis.net!news.mixmin.net!aioe.org!hBKuOdgTDGtqMHmzmNDcWw.user.46.165.242.75.POSTED!not-for-mail
References: <62388b93$0$481$65785112@news.neostrada.pl> <t1ceqt$kd0$1@gioia.aioe.org> <6239dcd8$0$492$65785112@news.neostrada.pl> <t1dc1f$1hpj$1@gioia.aioe.org> <623a42c7$0$464$65785112@news.neostrada.pl> <623b0844$0$493$65785112@news.neostrada.pl> <623c6b4b$0$465$65785112@news.neostrada.pl> <t1i94p$1ijs$1@gioia.aioe.org> <623e3867$0$480$65785112@news.neostrada.pl> <t1ndg2$tgp$1@gioia.aioe.org> <623f41a8$0$479$65785112@news.neostrada.pl> <t1ph5b$qu7$1@gioia.aioe.org> <6241656d$0$479$65785112@news.neostrada.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.man.lodz.pl!newsfeed.pionier.net.pl!3.eu.feeder.erje.net!feeder.erje.net!weretis.net!feeder8.news.weretis.net!news.mixmin.net!aioe.org!hBKuOdgTDGtqMHmzmNDcWw.user.46.165.242.75.POSTED!not-for-mail
From: "Bogdan (bogdro)" <bogdan@poczta.gazeta.pl>
Newsgroups: pl.comp.lang.asm
Subject: Re: Konwerter txt do UTF 8
Date: Mon, 28 Mar 2022 18:59:02 +0200
Organization: Aioe.org NNTP Server
Message-ID: <t1spgn$9c9$1@gioia.aioe.org>
References: <62388b93$0$481$65785112@news.neostrada.pl> <t1ceqt$kd0$1@gioia.aioe.org> <6239dcd8$0$492$65785112@news.neostrada.pl> <t1dc1f$1hpj$1@gioia.aioe.org> <623a42c7$0$464$65785112@news.neostrada.pl> <623b0844$0$493$65785112@news.neostrada.pl> <623c6b4b$0$465$65785112@news.neostrada.pl> <t1i94p$1ijs$1@gioia.aioe.org> <623e3867$0$480$65785112@news.neostrada.pl> <t1ndg2$tgp$1@gioia.aioe.org> <623f41a8$0$479$65785112@news.neostrada.pl> <t1ph5b$qu7$1@gioia.aioe.org> <6241656d$0$479$65785112@news.neostrada.pl>
Mime-Version: 1.0
Injection-Info: gioia.aioe.org; logging-data="9609"; posting-host="hBKuOdgTDGtqMHmzmNDcWw.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org";
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.7.0
X-Notice: Filtered by postfilter v. 0.9.2
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit