3v4l.org

run code in 300+ PHP versions simultaneously
<?php //Stel je hebt een byte array $raw=[0xAB, 0x56, 0xFD]; //Dan per 3 bytes uitlezen in een loop for($idx=0;$idx<count($raw);$idx+=3) { //en schuiven met bits met << of >> //of gebruik maken van logical AND: & $v1 = ($raw[$idx] << 4) + ( $raw[$idx+1] >> 4); $v2 = (($raw[$idx+1] & 0xF) << 8) + $raw[$idx+2]; //resultaat, in hex voor de duidelijkheid echo dechex($v1) . " " . dechex($v2) . "\n"; }

preferences:
29.49 ms | 404 KiB | 5 Q