PHP: ikili veri keyfi bir ofset pozisyonda bit keyfi sayıda okuyun

0 Cevap php

Ben bir ofset biraz ve uzunluğu sağlayarak ikili veri her veri noktasını tanımlayan bir gelen "harita" dosyası vardır bazı ikili veriler var. Yani, aşağıdaki eşleştirmeleri olabilir:

$paths = array ( "path1" => array ("offset" => 224, "size" => 2),
                 "path2" => array ("offset" => 226, "size" => 6),
);

Aslında ben onlarca bu yollar binlerce / boy eşleştirmeler telafi etmek için var. Şimdi, ben ofset uygun etmeye ve büyüklüğüne göre verilen bitlerin sayısını okumak mümkün istiyorum bir yol verilir. Bu basit durumda, path1 ve path2 path1 ilk 2 bit ve yol2 son 6 bitleri tek bir bayt temsil eder.

Zaten Python bu yazdım ve şimdi ben :) girmeyeceğim nedenlerle PHP kod üzerinde taşıma am

Her neyse, bütün bayt kayıklıklarında bütün bayt boyutları için sadece uygun biçim dizesi ile açmak kullanabilirsiniz. Ne ile ilgili bir sorun var bitlik bu "tuhaf" boyutlu setlerini işlemek için nasıl.

Ben bugüne kadar ofset modülü 8 0 (bütün byte) verir ve daha az olduğu yakın bit denge bulma olacağını düşündüm tek yolu ofset verilir, sonra bu yeni (gene bütün bayt boyutlarda) küçük boyutu bulmak gerekli bit her kapsar ki ofset, daha sonra bir bit ve kullanımı Ben istiyorum bit maskelemek için.

Python Ben sadece bana ofset biraz etmeye izin bitbuffer modülünü kullanabilirsiniz, daha sonra istediğim herhangi bir bit sayısını okuyun. PHP Dünyada böyle bir şey?

Teşekkürler.

0 Cevap