Article View: pl.comp.lang.asm
Article #2613Re: Konwerter txt do UTF 8
From: Bogdan (bogdro)
Date: Tue, 22 Mar 2022 20:37
Date: Tue, 22 Mar 2022 20:37
78 lines
4463 bytes
4463 bytes
W dniu 22.03.2022 o 15:27, Kamil pisze: > Użytkownik "Bogdan (bogdro)" napisał: > >>> Postanowiłem napisać programik konwertujący polskie "pliterki" z >>> txt ASCII na UTF 8. I coś mnie zaniepokoiło. Otóż znaki te w UTF 8 >>> maja na końcu średnik. A o ile dobrze pamiętam sam średnik i >>> wszystko za nim jest traktowane jako komentarz i pomijane. Dobrze >>> sądzę? > >> Ogólnie - tak, "wolnostojący" średnik w asemblerze jest początkiem >> komentarza, ale to nie przeszkadza używać go w napisach czy komendach: > >> napis db 'a;b;c' > >> mov al, ';' > >> Natomiast znaki "ąćęłńóśźż" kodują się w UTF-8 na wartości szesnastkowe > >> C4 85 C4 87 C4 99 C5 82 C5 84 C3 B3 C5 9B C5 BA C5 BC > >> Tutaj średnika nigdzie nie ma i to jest ta część problemu, której za >> bardzo nie rozumiem. Chyba że masz na myśli np. encje HTML postaci >> "&#C485;", to wtedy wracamy do używania średnika w stałej znakowej i >> to powinno bez problemu działać. > > Bardzo serdecznie Cię witam i pozdrawiam. Dawno się nie czytaliśmy :) :) > Chodzi o moją stronkę zawierającą ledwie kilkanaście wierszy tekstu i > odnośniki do ewentualnych plików. Na dobrą sprawę kilka znaków mógłbym > wstawić "na piechotę", ale postanowiłem utrudnić sobie życie i napisać > program. A, że dawno to robiłem, więc prawie wszystko zapomniałem. Dobre ćwiczenie, też sobie kiedyś zrobiłem program związany z kodowaniami (tylko ten zamieniał polskie znaczki na ich odpowiedniki ASCII). > Do rzeczy. Piszę z komputera z WIndows 7, więc pewnie program się na > nim nie uruchomi. Przejdę na sprzęt z XP i tam będę walczył. A póki co > pewne rzeczy mi się nie zgadzają. Kody podane przez Ciebie są inne niż > ja mam. Rzuć okiem na: > > http://kamil100.refy.pl/Pliki/UTF%208.jpg Aha, i tutaj mamy niby subtelną, a jednak sporą różnicę między czymś o nazwie "UTF-8" a czymś o nazwie "Unicode". Co ja zrobiłem, to po prostu, bez zagłębiania się w jakikolwiek normy, wpisanie na terminalu w kodowaniu UTF-8 (tak, Linux): echo ąćęłńóśźż > aaa i obejrzenie wynikowego pliku hex-edytorem. Stąd wartości bajtów. I tak, to jest UTF-8. Różnice w tym, co dostaliśmy polega na tym, że ty patrzysz na coś, co się nazywa Unicode (https://en.wikipedia.org/wiki/Unicode, https://en.wikipedia.org/wiki/Universal_Coded_Character_Set), a ja na UTF-8, czyli tylko na jedno z kodowań standardu Unicode. Unicode mówi z grubsza, jaki dany znak ma numer. UTF-8, UTF-7, UTF-16, UTF-32 i jakie tam jeszcze inne kodowania da się znaleźć, są właśnie tym - kodowaniami, czyli sposobami, w jaki znak o numerze X w Unicode, zostaje przetworzony na faktyczne bajty. Oba nasze zestawy liczb są np. tutaj: https://pl.wikipedia.org/wiki/Kodowanie_polskich_znak%C3%B3w i można to sobie porównać. Teraz patrzę na normę HTML i tam jest napisane, że encje w HTML używają normy ISO 10646, czyli właśnie Unicode. Szybki test w postaci Ą daje "Ą", a więc potwierdza, że to Twoje numerki wygrywają :). -- Pozdrawiam/Regards - Bogdan (GNU/Linux & FreeDOS) Kurs asemblera x86 (DOS, GNU/Linux): http://bogdro.evai.pl Grupy dyskusyjne o asm: pl.comp.lang.asm alt.pl.asm alt.pl.asm.win32 www.Xiph.org www.TorProject.org Soft(EN): http://bogdro.evai.pl/soft
Technical Details
Message-ID:
<t1dc1f$1hpj$1@gioia.aioe.org>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!3.eu.feeder.erje.net!feeder.erje.net!news2.arglkargh.de!news.mixmin.net!aioe.org!LjavEcqyqJfmCLYRxaOP/Q.user.46.165.242.75.POSTED!not-for-mailReferences:
<62388b93$0$481$65785112@news.neostrada.pl> <t1ceqt$kd0$1@gioia.aioe.org> <6239dcd8$0$492$65785112@news.neostrada.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!3.eu.feeder.erje.net!feeder.erje.net!news2.arglkargh.de!news.mixmin.net!aioe.org!LjavEcqyqJfmCLYRxaOP/Q.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: Tue, 22 Mar 2022 21:37:02 +0100 Organization: Aioe.org NNTP Server Message-ID: <t1dc1f$1hpj$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> Mime-Version: 1.0 Injection-Info: gioia.aioe.org; logging-data="50995"; posting-host="LjavEcqyqJfmCLYRxaOP/Q.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