Hogyan kell kiszámolni egy fájl (szöveg) méretét a benne lévő adatokból?
Tudni kell, hogy hogy tárolod a karaktereket. Ha ASCII-ben, akkor egy karakter = egy byte. A sor végén van soremelés? 13+10 vagy csak 13? Ha igen, akkor anniszor 1-2 byte ahágy sorod van (- az utolsó sor, ha ott nincs enter).
Tisztán soremelések nélkül ascii-ben 12*50 byte, azaz 600 byte. A "sallangokat" a speciális eset határozza meg.
Ha unicode-ban tárolod, akkor több.
Kevés adatot adtál meg, így pontosabban nem lehet válaszolni a kérdésedre.
Tehát ha sima *.txt a fájl, és 12*50 = 600 karaktert tartalmaz, akkor egyszerűen 600 byte-ot jelent, vagyis 600*8 bit? Ez így logikus lenne. Köszönöm!
De egy könyvben olvastam valamit, csak nem értem: úgy határozzuk meg a szükséges helyet, hogy az adathalmaz jeleit bináris jelekké alakítjuk át, és megszámoljuk, hány bináris jelből áll. Akkor ez a 600-ra vonatkozik? Azt kell átalakítani?
Próbálgatással rájöttem, hogy a soremelés az több.
Mi ez a:
"13+10 vagy csak 13? Ha igen, akkor anniszor 1-2 byte ahágy sorod van (- az utolsó sor, ha ott nincs enter)."
(Egyébként 7. osztályos feladat, és csak ennyi volt a szöveg)
A sorok végén van egy vagy két byte soremelés karakter. Ennek történelmi okai vannak, még régen a telexgépeknek külön karakter kellett hogy sort emeljenek és külön, hogy a kocsit visszahúzzák kezdőpozícióba.
Windows-on a DOS-os örökség miatt még mindig két bájtos a sorvége jel, de UNIX-on pl. csak egy byte-os. A 13+10 ill a 13 erre utal.
Az alapján, hogy hetedikes feladat, én azt mondanám, hogy a megoldás 600 byte, mivel alapértelmezésben ha azt mondjuk adatmennyiségként, hogy karakter, akkor ascii kódolásra gondolunk és ezesetben 1 karakter 1 byte-ot foglal, tehát 600 karakter 600 byte-ot. A soremelésről meg feledkezzünk meg.
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!