A csomagolás és csomagold


A csomagolás és csomagold

Valószínűleg a legtöbb web programozó soha nem dolgozott közvetlenül a bináris adatokat a php.

És ez történt nem csak azért, leggyakrabban bináris feldolgozó vállalja különböző kiterjesztések vagy könyvtárakban. Gyakrabban ez kapcsolódik az a tény, hogy az információ az interneten nem nagyon, és hogy van - nehéz megérteni, és messze az igények egy adott fejlesztő.

Az olvasás és írás bináris adatokat php, két hasznos funkciók:

A csomag funkció csomag az adatokat a formátum által igényelt maszk, és adja meg a kimeneti string bináris formátumban.
unpack funkció elvégzi a fordított átalakulás. Azt várja, hogy a bemeneti karakterlánc egy bináris formátumot és a kimeneti ad egy sor olyan formátumú adatok ismerős számunkra.

Ahhoz, hogy megértsük, hogyan lehet tömöríteni adatokat, akkor kell, hogy olvassa el, hogyan tároljuk az adatokat a memóriában. Például a C programozási nyelv tanfolyam.

Előnyt bináris adat

Tegyük fel, hogy: Meg kell írni a fájlt szám nullától 256 Fontos, hogy a fájl lenne könnyen olvasható programok más nyelven, és az lenne a mérete is kis helyet foglal.

adatok írása

A hagyományos módon, mi volna fel valamit, mint ez:

Zapakovyvaya minden byte egyénileg, akkor megtette volna:

Most hasonlítsd össze a méret a keletkező fájl:

Ie fájlba, ahol tele minden érték alacsonyabb bájt, majdnem háromszor kisebb, mint a fájlt, amelyben az összes értéket vannak írva, mint egy húr.

Úgy néz ki, mint a mentett fájl a szokásos módon:

És ebben a fájlban értékek csomagolva char:

Figyelmes fejlesztő azonnal vegye figyelembe az oka az ilyen duzzanat fájlt.

Ez minden bizonnyal a szimbólum 0A. használják a szeparátor értékek (0x0A = 10 = új sor), és hogy az egyes szimbólumok egy változóban tároljuk a bájt. Például, amikor szükség van rá, hogy a számot tárolni 248, 3 byte rögzíti 32 34 38.

adatok olvasását

Most, amikor megpróbál adatokat olvasni a fájlokat gondot okoz az olvasás a csomagolt adatokat. Mit fognak megkerülni az adatok olvasására a következő:

Ahogy talán már észre, a szolgáltatás-csomag két paramétert szükséges: format string és egy értéket, vagy több érték, amit meg kell csomagolni.

Annak érdekében, hogy értékelje a rugalmasságát adatok zapakovyvaniya próbáljuk megoldani ezt a problémát.

Meg kell végre a különböző rendszerek közötti adatcsere programok írt különböző nyelveken.

Tehát csomag egy tömb, amely szám és szöveg. Vegye figyelembe, hogy ha a számokat tudjuk a méretet, akkor is, ha azt feltételezzük, hogy a számot köteles illeszkedik a char típusú, azaz 0 256. Ezt a vonalat tartalmazhat tetszőleges számú karakter.

Az egyszerűség kedvéért feltételezzük, hogy a vonal illeszkednie kell a 256 karaktert, akkor tudjuk írni a karakterek száma a string egy char változó.

Itt van a mentett fájl

Térjünk most próbálja olvasni a fájlt

És mi lesz egy tömböt:

Mint látható, minden egyszerű, még az összetett bináris struktúrák egyszerűen szétszedhető php.

Kapcsolódó cikkek