
67_WIN_KAR
67_WIN_KAR

67_WIN_KAR.py
Határozzuk meg az ékezetes karakterek kódját!
A kar WIN_KAR.py
- A karakter típusú (char) változóba olvassuk be a karaktereket, és kiiratjuk a karaktert és a karakter kódját is, ami a függvény értéke lesz.
- Az állományba 18 ékezetes karaktert írunk, és két sort lezártunk sorvége karakterekkel, ami négy karakter. Ezért olvasunk be 22 karaktert.
- A win karakterlánc konstansban megadjuk a Windows karaktereket, a cplussz konstansban a C++ karaktereket.
- A kar változóba, egymás után, beolvassuk a szövegállomány összes karakterét, és ha a karakter ékezetes, akkor a megfelelő karakter írja ki a program a karakterek.txt állományba.
- Az EOF(be) függvény értéke akkor lesz igaz, ha beolvastuk az utolsó karaktert is.
def ascii(x):
return ord(x)
Ez egy függvény, amely egy karakter ASCII kódját adja vissza.
Gyakorlati alkalmazás: Ha egy rendszerben meg akarjuk határozni egy karakter numerikus kódját, például titkosítási vagy ellenőrzési céllal.
def _char(x):
return chr(x)
Ez egy függvény, amely egy adott ASCII kódból visszaalakítja a karaktert,
Gyakorlati alkalmazás: Amikor egy programban vissza kell alakítani egy számalapú azonosítót az eredeti karakter formájába, például fájlnévgenerálásnál.
with open("karakterek.txt", "r", encoding="utf-8") as be:
Megnyitjuk a "karakterek.txt" nevű fájlt olvasásra ("r" mód). Gyakorlati alkalmazás: Ez lehet például egy fájl, amelyben tárolt szöveget dolgozunk fel, mint egy dokumentum vagy adatbázis bejegyzései.
for i in range(1, 23):
Ez egy ciklus, amely 1-től 22-ig ismétlődik. �� Gyakorlati alkalmazás: Ha egy fájlban pontosan 22 karaktert akarunk beolvasni, például egy fix hosszúságú kódok listáját.
kar = be.read(1)
Beolvassa a fájlból az aktuális karaktert egyenként.
Gyakorlati alkalmazás: Egy adatfeldolgozó rendszerben, ahol karakterenként kell elemezni a bemenetet, például egy titkosítási algoritmusban.
if not kar:
break
Ellenőrzi, hogy van-e még karakter a fájlban, ha nincs, kilép a ciklusból.
Gyakorlati alkalmazás: Ez megakadályozza, hogy a fájl végét túlolvassuk, ami hibát okozhatna.
print(f" ASCII: {ascii(kar)}\t Beírt: {kar}\t") Kiírja a karakter ASCII-kódját és magát a karaktert formázott módon.
Gyakorlati alkalmazás: Ha például egy rendszeren belül ASCII kódokat kell átalakítani vagy egy karaktersorozatot elemezni, mint egy hálózati protokoll dekódolásánál.
def ascii(x):
"""Visszaadja a karakter ASCII kódját."""
return ord(x)
def _char(x):
"""Visszaadja az ASCII kódból a karaktert."""
return chr(x)
# 22 karakter beolvasása a fájlból
with open("karakterek.txt", "r", encoding="utf-8") as be:
for i in range(1, 23): # 18 ékezetes betű + 4 speciális karakter
kar = be.read(1) # Egy karaktert olvasunk be egyszerre
if not kar: # Ha elfogyott a fájl, kilépünk
break
print(f"ASCII: {ascii(kar):<4} | Beolvasott karakter: {kar}")
A karakterek ellenőrzője
Egy nyugodt irodai reggelen a Dokufelvigyázó nevű rendszer csendesen dolgozott. Feladata: minden beérkező dokumentumból kiszűrni a különleges, ékezetes karaktereket – nehogy egy szerződés, egy számla, vagy egy hivatalos űrlap rejtett hibát hordozzon magában.
A rendszer egy apró, de megbízható segéddel dolgozott, neve: karakterek.txt. Ebben az állományban 22 karakter rejtőzött – 18 ékezetes betű és 4 speciális sorvége. Ezeket kellett sorban, egyenként beolvasni, és minden karakterről beszámolni: – "Ez a betű: á, az ő kódja: 225." – "Ez itt a ő, őt kódszám szerint 337 alatt tartjuk nyilván."
Így ment ez folyamatosan: a kar nevű olvasó kiszúrta az új karaktert, a ascii() függvény jelentette a kódját, és ha kellett, a _char() vissza is alakította.
Amikor a rendszer eljutott az utolsó karakterig, csendesen leállt. Küldetése teljesült. A dokumentum tiszta, a karakterek jelentése világos. A háttérben az egyik ellenőrzőmodul így dörmögött:
– Minden karakter rendben. Publikálhatjuk.
És a nap tovább folyt, hibamentesen, kódolt eleganciában.
Hogyan működik ez egy irodai rendszerben? ✔️ Dokumentumokat lehet ellenőrizni, hogy tartalmaznak-e speciális karaktereket vagy szokatlan szimbólumokat. ✔️ Segíti az adatok szabványosítását, például számlák vagy szerződések elektronikus feldolgozásánál. ✔️ Felhasználható a karakterek és titkosított adatok visszaállítására, például sérült fájlok vagy kódolt szövegek helyreállításakor.
Gyakorlati alkalmazás példája:
- Egy banki rendszerben ellenőrizni lehet, hogy az ügyfél dokumentumai csak az elvárt karaktereket tartalmazzák-e, és nincs-e benne illetéktelen módosítás vagy hibás kódolás.
- Egy kutatóközpontban a beérkező adatokat ASCII-alapú formában azonosítják, és az eltéréseket külön kiemelik, segítve az automatizált ellenőrzéseket.
- Egy szerkesztőprogramban a dokumentumot ellenőrzik, hogy nincsenek-e benne speciális vagy tiltott karakterek, mielőtt publikálásra kerülne.
