Article View: pl.comp.lang.asm
Article #2623Re: Konwerter txt do UTF 8
From: Kamil
Date: Mon, 28 Mar 2022 07:36
Date: Mon, 28 Mar 2022 07:36
50 lines
3402 bytes
3402 bytes
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. > 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. To skomplikowane i niepewne. Spróbuję tak zrobić i sprawdzić działanie. Dlatego pytałem o debugger, abym mógł znaleźć błędne miejsca. A pętla zrobiona "ręcznie", czy w postaci makroinstrukcji działa tak samo. Może uda mi się wykorzystać podany przez Ciebie sposób. Dzięki za kod. Pzdr
Technical Details
Message-ID:
<6241656d$0$479$65785112@news.neostrada.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!fu-berlin.de!newsreader4.netcologne.de!news.netcologne.de!peer03.ams1!peer.ams1.xlned.com!news.xlned.com!peer03.ams4!peer.am4.highwinds-media.com!news.highwinds-media.com!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!unt-spo-b-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mailReferences:
<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>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!fu-berlin.de!newsreader4.netcologne.de!news.netcologne.de!peer03.ams1!peer.ams1.xlned.com!news.xlned.com!peer03.ams4!peer.am4.highwinds-media.com!news.highwinds-media.com!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!unt-spo-b-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail From: "Kamil" <nospam@tlen.pl> Newsgroups: pl.comp.lang.asm 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> In-Reply-To: <t1ph5b$qu7$1@gioia.aioe.org> Subject: Re: Konwerter txt do UTF 8 Date: Mon, 28 Mar 2022 09:36:10 +0200 MIME-Version: 1.0 X-Priority: 3 X-MSMail-Priority: Normal Importance: Normal X-Newsreader: Microsoft Windows Live Mail 16.4.3528.331 X-MimeOLE: Produced By Microsoft MimeOLE V16.4.3528.331 Lines: 53 Message-ID: <6241656d$0$479$65785112@news.neostrada.pl> Organization: Telekomunikacja Polska NNTP-Posting-Host: 91.239.168.63 X-Trace: 1648452973 unt-rea-a-01.news.neostrada.pl 479 91.239.168.63:56699 X-Complaints-To: abuse@news.neostrada.pl X-Received-Bytes: 3310 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit