read_big_endian( $input, int $num_bytes )
Reads an unsigned integer with most significant bits first.
Parameters
-
(Required) string $input Must be at least $num_bytes-long.
- $num_bytes
-
(Required) Number of parsed bytes.
Return
(int) Value.
Source
File: wp-includes/class-avif-info.php
function read_big_endian( $input, $num_bytes ) {
if ( $num_bytes == 1 ) {
return unpack( 'C', $input ) [1];
} else if ( $num_bytes == 2 ) {
return unpack( 'n', $input ) [1];
} else if ( $num_bytes == 3 ) {
$bytes = unpack( 'C3', $input );
return ( $bytes[1] << 16 ) | ( $bytes[2] << 8 ) | $bytes[3];
} else { // $num_bytes is 4
// This might fail to read unsigned values >= 2^31 on 32-bit systems.
// See https://www.php.net/manual/en/function.unpack.php#106041
return unpack( 'N', $input ) [1];
}
}