Létre lehet hozni bináris szöveges fájlt?
Az adatok tárolása milyen módon történik benne?
C++-ban létre lehet hozni? A módosítása hogyan történik?
És nem programozásban, hanem simán, hogy lehet létrehozni (mint pl.egy új mappát)?
"bináris szöveges fájl"
Ez így oximoron. :)"
Így tudom elképzelni a file tartalmát:
00100010 00100010 01100010 01101001 01101110 11000011 10100001 01110010 01101001 01110011 00100000 01110011 01111010 11000011 10110110 01110110 01100101 01100111 01100101 01110011 00100000 01100110 11000011 10100001 01101010 01101100 00100010 00001010 00001010 01000101 01111010 00100000 11000011 10101101 01100111 01111001 00100000 01101111 01111000 01101001 01101101 01101111 01110010 01101111 01101110 00101110 00100000 00111010 00101001 00100010 00001010 00001010 11000011 10001101 01100111 01111001 00100000 01110100 01110101 01100100 01101111 01101101 00100000 01100101 01101100 01101011 11000011 10101001 01110000 01111010 01100101 01101100 01101110 01101001 00100000 01100001 00100000 01100110 01101001 01101100 01100101 00100000 01110100 01100001 01110010 01110100 01100001 01101100 01101101 11000011 10100001 01110100 00111010
Szöveg is, bináris is... :)
Nem ennyire komolyan kérdeztem.
Csak általánosságban érdekelt, hogy pl létre lehet-e hozni úgy, mint egy új mappát, vagy szöveges dokumentumot (jobb kattintás - új bináris fájl), vagy valami hasonló módon.
C++-ban tanulom a fájlok létrehozását, és a neten a fájloknál megemlítették a bináris fájlt is, amiről még nem is hallottam, ezért kérdeztem.
De ennyire komolyan nem érdekel.
Megoldható lenne... azért nem csinálták meg, mert értelmetlen.
Ha létrehozol egy új szöveges file-t, abba írhatsz, stb.
.bin vagy .dat file-t csak programmal szoktak kezelni, tehát fölösleges kézzel létrehozni.
#13 Létrehozol egy üres txt-t, aztán átnevezed akármire.
Innentől mondhatod, hogy ez a te üres bináris fájlod.
Aztán majd programmal írsz bele, amit szeretnél.
De értelme nincs, mert úgy is egy program fogja kezelni a fájlt, akkor nem egyszerűbb, ha azzal hozod létre?
Egyébként ott lehet a félreértés, hogy azt gondolod, többféle fájl létezik.. de nem. A txt és a bin, dat, stb. ugyanaz.
Általában az első pár bájt azonosítja be, hogy milyen típusú a tartalma.
Itt találsz ezekről listát:
Ezt is kipróbálhatod:
Fogj egy kép fájlt és nevezd át valami.bin-re (arra figyelj, hogy a kiterjesztés legyen megjelenítve, egyébként csak valami.bin.jpg lesz).
Utána nyiss egy Paintet. Menj rá a fájl megnyitására, választ ki jobb lent, hogy minden fájl és nyisd meg a .bin fájlodat. Gond nélkül betölti a képet, mert az első pár byte-ból tudja, hogy milyen típusú kép.
Már írta valaki, de minden file bináris.
A text vagy .txt file attól "nem bináris", hogy a tartalma szöveg, tehát olvasható, na meg, formázó karaktereket is tartalmaz, de egyáltalán nem tartalmaz bizonyos karaktereket (unprintable).
A programok jellemzően kétféle adatot kezelnek, szöveget és binárist.
Ezért jött létre az a módus, hogy a legtöbb programozási nyelv ismer bináris és text állományt is.
Amúgy, egy .txt állományt is minden további nélkül beolvashatsz binárisként.
Ugyanez fordítva azért nehézkesebb, mert ahova beolvasnád a bináris állományt, ott a tartalomnak csak egy része jelenik meg, mivel pl. egy szövegdoboznak ismernie kell a sorvéget, az újsort, a tabulátort is, egyéb, unprintable karaktert, azok meg nyilván akadnak egy bináris állományban szép számmal.
Nyilván meg lehet közelíteni többféle szempontból is, de a programozásban használt általános terminológia szerint két féle fájl van:
- szöveges fájl (human-readable file), amit elsősorban emberi olvasásra készített egy másik ember vagy egy program. Az ilyen fájlok jellemzően további konverzió nélkül olvashatók
- bináris fájl, ami gépi feldolgozás céljára készült. Az ilyen fájlokat programokat dolgozzák fel, sok esetben egy az egyben betölthetők a memóriába, mindenfajta átalakítás nélkül
A már említett Word fájlból két féle van. A tradícionális, .doc kiterjesztésű, és az újabb, .docx kiterjesztésű. A .doc fájl egyértelműen bináris, ez nem is kérdéses. Alapvetően a .docx is bináris, de ez valójában egy tömörített .zip fájl. Ha kicsomagolod, akkor kapsz egy vagy több .xml fájlt, amik szövegesek, és esetlegesen egy vagy több bináris fájlt (pl. képek).
Bináris fájl létrehozása: ments le mondjuk egy képet, egy videót, egy adatbázisfájlt, az bináris lesz...
Ha már ennyire belemegyünk, akkor legalábbis linuxos környezetben nézve az csak egy fajta fájl amiről beszéltek. Az a közönséges fájl.
Ezen kívül vannak speciális fájlok. Ilyen a fifo, a fifo mint nevesített cső, amiben a termelő és fogyasztó szerepében 2 processz vagy 2 szál kommunikálhat (jellemzően processek). Van a socket mint speciális fájl, amely egyedülálló abban hogy csak úgy nem lehet létrehozni csak úgy ha egy szerver szerepet betöltött processt állítunk rá speciális rendszerhívással, amire egy vagy több kliens csatlakozhat. Egyébként a socket az hálózati kommunikációként is működik gépek között, ez a termonológia használható egy gépen belül is localhost-al, de speciális fájllal is. Továbbá vannak az az eszközfájlok melyek vagy blokkosan vagy csak szekvenciálisan érhetőek el, például egy egész háttértár tartalma is kiolvasható nyersen binárisan fájlrendszer nélkül pl /dev/sda, illetve a különböző partíciók is külön fájlokként vannak jelen az előbbi partíciói /dev/sda1 /dev/sda2,vagy mint eszköz egy webkamera /dev/video, vagy az operációs rendszer által biztosított /dev/urandom nyers véletlenszám generátor. Illetve megjegyzem még a különleges eszközfájlt a /dev/null-t ami "fekete lyuk" bármit írsz bele az elveszlik és tartalma mindig üres. A socket az nem fájlra jellemző rendszerhívásokata igényelnek, tulajdonképpen egy gépen belüli adatcsatorna ha fájlként van jelen. A fifo az sima írás/olvasás rendszerhívással olvasható, seek-elni nem lehet és mivel termelő fogyasztó elven működik amíg nincs adat addig az olvasó (fogyasztó) várakozó állapotba van, ha úgytetszik befagy. Ugyanez a termelőre is igaz. Nem blokkolt módon is lehet használni egyébként, erre külön rendszerhívások vannak, ill. megnyitási módok. Ezeken felül még van a szimulált fájlrendszer, a /proc amelyen keresztül lehet például a futó processeket elérni és egyéb dolgokat lekérdezni, kommunikálni a kernellel azon keresztül lehet sima fájlműveletekként.
További kérdések:
Minden jog fenntartva © 2025, 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!