public static function unpack(string $type, string $bytes)
    {
        self::checkLen($type, $bytes);

        if ($type === self::BIT_B64) {
            $set    = unpack($type, $bytes);
            $result = ($set[1] & 0xFFFFFFFF) << 32 | ($set[2] & 0xFFFFFFFF);
        } elseif ($type === self::BIT_B16_SIGNED) {
            // According to PHP docs: 's' = signed short (always 16 bit, machine byte order)
            // So lets unpack it..
            $set = unpack($type, $bytes);

            // But if our system is little endian
            if (self::isSystemLittleEndian()) {
                // We need to flip the endianess because coming from kafka it is big endian
                $set = self::convertSignedShortFromLittleEndianToBigEndian($set);
            }
            $result = $set;
        } else {
            $result = unpack($type, $bytes);
        }

        return is_array($result) ? array_shift($result) : $result;
    }
public static function unpack(string $type, string $bytes)
    {
        self::checkLen($type, $bytes);

        if ($type === self::BIT_B64) {
            $set    = unpack($type, $bytes);
            $result = ($set[1] & 0xFFFFFFFF) << 32 | ($set[2] & 0xFFFFFFFF);
        } elseif ($type === self::BIT_B16_SIGNED) {
            // According to PHP docs: 's' = signed short (always 16 bit, machine byte order)
            // So lets unpack it..
            $set = unpack($type, $bytes);

            // But if our system is little endian
            if (self::isSystemLittleEndian()) {
                // We need to flip the endianess because coming from kafka it is big endian
                $set = self::convertSignedShortFromLittleEndianToBigEndian($set);
            }
            $result = $set;
        } else {
            $result = unpack($type, $bytes);
        }

        return is_array($result) ? array_shift($result) : $result;
    }
public static function unpack ( string $ type , string $ bytes ) { self :: checkLen ( $ type , $ bytes ) ; if ( $ type === self :: BIT_B64 ) { $ set = unpack ( $ type , $ bytes ) ; $ result = ( $ set [ 1 ] & 0xFFFFFFFF ) << 32 | ( $ set [ 2 ] & 0xFFFFFFFF ) ; } elseif ( $ type === self :: BIT_B16_SIGNED ) { // According to PHP docs: 's' = signed short (always 16 bit, machine byte order) // So lets unpack it.. $ set = unpack ( $ type , $ bytes ) ; // But if our system is little endian if ( self :: isSystemLittleEndian ( ) ) { // We need to flip the endianess because coming from kafka it is big endian $ set = self :: convertSignedShortFromLittleEndianToBigEndian ( $ set ) ; } $ result = $ set ; } else { $ result = unpack ( $ type , $ bytes ) ; } return is_array ( $ result ) ? array_shift ( $ result ) : $ result ; }
Unpack a bit integer as big endian long

@return mixed
@throws ProtocolException
Unpack a bit integer as big endian long