Kezdőoldal » Számítástechnika » Programozás » Fájl-ékezet probléma: Az...

Fájl-ékezet probléma: Az alábbi problémát mi okozhatja?

Figyelt kérdés

Az alábbi fájl esetén mi okozza az ékezet-problémát?és "nem

Időnként futok bele hasonlóba és szeretnék programot írni, amely megoldja a problémát (mit mire kell cserélni), vagy ha ismert jelenségről van szó, akkor valami kész programot keresnék ami kiküszöböli.

Nem mindig jön elő és nehezen reprodukálható a hibajelenség.

UTF8-ra való kódolás Notepad++ segítségével nem oldja meg, fórumokon Linux alatti iconv-megoldásokat olvastam, a file parancs ezt írja ki: "NON-ISO extended-ASCII text"

Itt a fájl, letölthető:

[link]



2023. júl. 13. 16:53
1 2
 1/11 anonim ***** válasza:
55%
Bocs, de nem fogok egy ismeretlen fájlt letölteni egy rövidített linkről. Ráadásul a hiba körülményeiről semmit nem írsz. Milyen programozási nyelv? (Mert elméletileg programozás témakör.) Mit akarsz a fájllal végezni? És mit értesz ékezet-probléma alatt?
2023. júl. 13. 18:16
Hasznos számodra ez a válasz?
 2/11 A kérdező kommentje:

"Bocs, de nem fogok egy ismeretlen fájlt letölteni egy rövidített linkről."

Nem rövidített link, nem lett átfuttatva "link-rövidítő oldalon". Sima Wetransfer.com.

Ha programozáshoz, informatikához értesz, akkor annyira érdemes bizalmat szavaznod a tudásodnak, hogy pl. először virustotal segítségével megnézed mi újság, vagy egyébként ha nem, ne kattints sehova nehogy "baj legyen".

Egy sima .txt fájl.


"Ráadásul a hiba körülményeiről semmit nem írsz."


Az UTF8 ékezetes karakterek rosszul kódolódnak, bár kétkarakteresek az ékezetek benne, de mégis rosszak. Tartottam attól ha ide majd bemásolom, akkor megváltozik és értelmezhetetlen lesz, ezért választottam a letöltési lehetőséget, de ezzel kötekedést szabadítottam magamra.


"Milyen programozási nyelv? (Mert elméletileg programozás témakör.")


Linux terminálon irányítottam át valamit és úgy jött létre az adott ékezet-probléma, de máskor is futottam már bele.

Pascal-ban szeretném megírni a programot, ami az ékezet-problémát megoldja vagy kijavítja.


"Mit akarsz a fájllal végezni? És mit értesz ékezet-probléma alatt?"


Cserét benne, hogy megjavuljanak az ékezetek.

Fentebb megpróbáltam leírni az ékezet-problémát, azt reméltem: aki a .txt fájlt megnézi, rájön a hiba okára és megoldására.

2023. júl. 13. 18:51
 3/11 A kérdező kommentje:

Ide másolok példát - aztán kérdés, miképpen jelenik meg (azért töltöttem fel a rövid .txt fájlt (a wetransfer.com oldalra és nem rövid linkkel rejtve), mert abból látható):

A rossz ékezetes szöveg:


"hogy vannak fiatalok is, tehát mondjuk őértük érdemes lenne,

azért mégsem olyan szempontból nézné, hogy mi megéljük el ezt."


A komment elküldése után nem tudom hogyan/milyen kódolással jelenik meg és mi fog módosulni.

2023. júl. 13. 20:24
 4/11 anonim ***** válasza:

Kate-ben megnyitva milyen kódolást ír ki? Milyen programnak az outputja? Mi a t

rendszerben a locale-ed?

2023. júl. 13. 20:38
Hasznos számodra ez a válasz?
 5/11 anonim ***** válasza:
A Kate (és a Geany szerint is) ez egy UTF-8-as szöveges fájl, de valószínűleg a hibás karakterek négy bájton vannak tárolva.
2023. júl. 13. 21:40
Hasznos számodra ez a válasz?
 6/11 anonim ***** válasza:

megnéztem hexeditorral, hogy mi van a fileban, amit küldtél. Úgy tünik, az ékezetes karaktereket 4 byte-on kódolja el. Ezeket találtam:

c4 82 c2 b6 -> ö

c4 82 c4 bd -> ü

c4 82 c5 82 -> ó

c4 82 cb 87 -> á

c4 8a c2 a9 -> é

c4 b9 e2 80 -> ő


Hogy ez milyen kódolás, fogalmam sincs. Tuti nem utf-8, nem utf-16 és nem is utf-32.


Leírhatnád, hogy honnan jön ez a string... Gondolom valaki begépeli valami weboldalon, te meg feldolgozod valahogy, aztán kiírod valahova.

2023. júl. 14. 00:28
Hasznos számodra ez a válasz?
 7/11 A kérdező kommentje:

Linux-os (Ubuntu) terminálban ékezetes szöveg átirányításakor jött létre ez, a pontos programra már nem emlékszem csak arra, hogy sokszor futottam már bele ebbe az ékezet-kódolással kapcsolatos problémába és nemcsak Linux alatt.

Minden beállítás magyar a rendszeren.

2023. júl. 14. 08:26
 8/11 anonim ***** válasza:
63%

"Nem rövidített link"

Mert szerinted a we.tl mégis mi?


"Ha programozáshoz, informatikához értesz, akkor ..."

1. Van már annyi tapasztalat a hátam mögött, hogy ki merem jelenteni, hogy legalábbis jelen esetben nem az én tudásom az, amit kritizálni kéne.

2. Bocs, de nincs kedvem annak utánajárogatni, hogy vajon egy random kérdésben, egy szemre is gyanús linkben vajon mi lehet. Ne az én feladatom legyen már, hogy kinyomozzam, vajon egy kérdésben a link most megbízható-e, vagy sem.

Ami pedig a kötekedést illeti: nem látok semmit az első hozzászólásomban, ami kötekedés lenne. Annyit írtam, hogy nem fogok egy olyan linket megnyitni, ami szemre gyanús. Tízből kilencszer az ilyen linkek ugyanis vagy valamilyen malware-t tartalmaznak, vagy feldobnak fél tucat ablakot, ahol különböző szerencsejátékokra akarnak rábírni, meg persze felkínálják, hogy keféljek szingli anyukákat a környékemen. Rosszabb esetben még ezt-azt át is állítanak a böngészőben. Ezért sokkal tisztább mondjuk Google Drive-on megosztani, vagy ha van FTP-szervered, akkor ott.

A többi kérdésemben sem volt semmi kötekedő, pusztán elég kevés információ volt megadva a kérdésben.


A szöveg egyébként kétszeresen van kódolva. UTF-8 volt a bemeneti sztring, és ez lett hibásan valamilyen 8 bites (pl. ISO-8859-2, CP852/akármi, Windows-1250, stb.) kódolással megnyitva, és ismét UTF-8 kódolással elmentve. Viszont míg az első fázis, amikor az UTF-8-at 8 bitesként jelenítette meg, az még nem valódi konverzió volt, az adatsor bitre pontosan ugyanaz maradt, csak a megjelenítés/értelmezés történt 8 biten. Ezután viszont ténylegesen UTF-8-ra konvertálódott a karaktersor, tehát maga az adat is megváltozott, mégpedig a hibásan megjelenített karakterek két bájton, UTF-8-ba konvertálva lettek elmentve. Ezért lett egy ékezetes karakterből 4 bájt. Mert eredetileg 2 volt (UTF-8), az be lett töltve 8 bites szövegként, ezért az eredeti ékezetes karakterek mindkét bájtja külön került megjelenítésre. Viszont ez el lett mentve UTF-8-ba, megjelenített karakterenként 2-2 bájton. Így lett az eredeti 1 karakterből 4 bájt.

Ha programot akarsz írni rá, akkor talán a legegyszerűbb, hogy első lépésben "kézzel" megállapítod, hogy melyik bájtsorok milyen karaktert jelentettek eredetileg. (Biztos van rá automatizáltabb megoldás is, ha kicsit beleássa magát az ember a karakterkódolásokba, de ha csak ennyi a cél, akkor ez is megfelelő megoldás.) Aztán megnyitod a fájlt binárisként, és amikor valamelyik ilyen 4 bájtos sorozatot észleled, ahelyett a kimeneti fájlba az annak megfelelő ékezetes karaktert írod.

2023. júl. 14. 09:02
Hasznos számodra ez a válasz?
 9/11 A kérdező kommentje:

Félek hogy valaki a hastebin-re vagy pastebin-re és hasonlókra is azt mondaná: rövidített link, ha éppen nem ismerné az adott oldalt és nem nyitja meg...

A fájllal kapcsolatos információkat köszönöm.

2023. júl. 14. 09:19
 10/11 anonim ***** válasza:

De azt aki osztott már meg kódot, ismeri. Ellenben egy 428. random "fájlküldő" oldalt, amin egyébként több a reklám, mint a TV2 esti műsorblokkjában, korántsem biztos.

Amúgy meg talán nem ezen kellene fennakadnod.

2023. júl. 15. 08:29
Hasznos számodra ez a válasz?
1 2

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!