[PHP] Binaire gegevens lezen/schrijven

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • jj85
  • Registratie: Januari 2002
  • Laatst online: 14:31
Ik vraag me af of het mogelijk is om in PHP binaire gegevens op te slaan en te lezen.

Hiermee bedoel ik dus het volgende.
Stel ik heb een variabele met 1'en en 0'en. (bijvoorbeeld 100101010101001111)
Hoe kan ik deze binair opslaan?
Dus dat waneer ik deze open dat ik niet 100101010101001111 zie.

En dan zou ik ook graag weer de file willen uitlezen.

Iemand enig idee hoe dit met PHP te realiseren?

Acties:
  • 0 Henk 'm!

  • bigtree
  • Registratie: Oktober 2000
  • Laatst online: 16-08 17:16
Je kunt een hoop trucjes uithalen met unpack maar het is me niet duidelijk wat je precies wilt.

Lekker woordenboek, als je niet eens weet dat vandalen met een 'n' is.


Acties:
  • 0 Henk 'm!

  • bartware
  • Registratie: Juni 2001
  • Laatst online: 25-03-2023

bartware

@jabber.org

Ik zou een en ander proberen met decbin, bindec, ord en chr.

Heb ik me begrepen?
Cycle Vision 2020: 17-20 juli Sportpark Sloten & Wheelerplanet Spaarnwoude


Acties:
  • 0 Henk 'm!

  • bigtree
  • Registratie: Oktober 2000
  • Laatst online: 16-08 17:16
bartware schreef op 29 maart 2004 @ 16:42:
Ik zou een en ander proberen met decbin, bindec, ord en chr.
Let er op dat bindec alleen werkt bij binaire reeksen van 31 bits of minder.

Lekker woordenboek, als je niet eens weet dat vandalen met een 'n' is.


Acties:
  • 0 Henk 'm!

  • jj85
  • Registratie: Januari 2002
  • Laatst online: 14:31
bartware schreef op 29 maart 2004 @ 16:42:
Ik zou een en ander proberen met decbin, bindec, ord en chr.
Die had ik idd al gezien, maar het gaat hier om een huffman codering, dus dan bestaat niet elk 'teken' uit 8 bits....

Acties:
  • 0 Henk 'm!

  • Limhes
  • Registratie: Oktober 2001
  • Laatst online: 09:51
vogelspin schreef op 29 maart 2004 @ 16:47:
[...]

Die had ik idd al gezien, maar het gaat hier om een huffman codering, dus dan bestaat niet elk 'teken' uit 8 bits....
Voor de opslag maakt dat toch niet uit? Je gooit gewoon per 8 bits 'n byte in de betreffende file en met uitlezen plak je alles weer achter elkaar.

Acties:
  • 0 Henk 'm!

  • bartware
  • Registratie: Juni 2001
  • Laatst online: 25-03-2023

bartware

@jabber.org

vogelspin schreef op 29 maart 2004 @ 16:47:
Die had ik idd al gezien, maar het gaat hier om een huffman codering, dus dan bestaat niet elk 'teken' uit 8 bits....
Nou? Dat maakt toch niet uit? Het eerste voorbeeld bij bindec() is een 6-bits sequence.
Kun je je "binaire string" opsplitsen in stukjes van 8-bit en die coderen?

[ Voor 4% gewijzigd door bartware op 29-03-2004 17:00 . Reden: damn te traag ]

Heb ik me begrepen?
Cycle Vision 2020: 17-20 juli Sportpark Sloten & Wheelerplanet Spaarnwoude


Acties:
  • 0 Henk 'm!

Verwijderd

van 6 naar 8 bits?


code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
$numbits = 0;
$j = 0;
$data = "stoere string met 6 bits data";
unset($newData);

for ($i=0;$i<strlen($data);$i++)
{
$char = $data[$i]; 
$numbits +=6 ;// 6 bits per keer
  $out = ($out <<6)+$char;     //huidige out 6 bits opschuiven en erbij tellen   
        // hebben we 8 bits in $out zitten?
       if ($numbits >=8)
            {
              $numbits -= 8;
              $newData[$j++] = ($out >> $numbits) & 255;
              $out &= (1 << $numbits) - 1;
            } 
}


En uiteindelijk bevat $newData een 8 bits string opgebouwd uit 6 bits input waarde's
Pagina: 1