On 9 Sep 2014, at 19:36, Leigh <lei...@gmail.com> wrote:

> Hi Internals,
> 
> I would like to propose giving pack() and unpack() 64 bit format
> codes, mimicking the current behaviour of 32 bit format codes.

What would this do on 32-bit platforms?

> Pack and unpack are obviously functions inspired by Perl, which has
> the 64 bit format codes 'q' and 'Q'. So the first half of my proposal
> is to give pack() and unpack() these options.
> 
> q - signed long long (always 64 bit, machine byte order)
> Q - unsigned long long (always 64 bit, machine byte order)
> 
> Perl does not have format codes to specify endianness, so the second
> half of my proposal is to introduce two more format codes for PHP that
> behave differently from Perl.
> 
> J - unsigned long long (always 64 bit, big endian byte order)
> P - unsigned long long (always 64 bit, little endian byte order)
> 
> I have chosen these letters _because_ they already exist in Perl,
> however their function does not suit PHP. J is for Perl internal
> integers, and P is for a pointer to a structure. Both of these are
> things that make no sense to support in PHP.

Why is there no big/little-endian signed long long?

--
Andrea Faulds
http://ajf.me/





-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to