Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:128704 X-Original-To: internals@lists.php.net Delivered-To: internals@lists.php.net Received: from php-smtp4.php.net (php-smtp4.php.net [45.112.84.5]) by lists.php.net (Postfix) with ESMTPS id 212631A00BC for ; Tue, 16 Sep 2025 14:10:18 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1758031733; bh=lnZU6fb0+Dzz7G+yjnShJmFsoUKzCg1khHhlGcY4k9c=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=bS7i7ohrIZrRCHseR8hkcS7QuPvTEMGnnpDvj6g0cwnCf+vDsB5WTerWm+8r/+BDM Mx5U7Vluj2aPEbnukN0/CMDnkBmLU58h462zTdh5b2fNfvLKTwaAgzATErVoQDSEiq k1SDoJBCjeVwj4fu9C/QwEho1OAVuRVVMzyn0HD56V4mNoDYbT373lkIXjcACu2nfS 6X77/o8xGkAElLAkrB6vt/9SJqyRc6OFa4DIldMYvQk3IQ34JJFZpgvyB4V6OnaItZ Q6ehkKXUq3uDj2ue3N1Kk+eXK85fp23mUNg850Nt+lBzvy70ljRo8zRIYLbD8ypJyc m6Nvp283K3dNQ== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 8AAF21801D9 for ; Tue, 16 Sep 2025 14:08:52 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=0.6 required=5.0 tests=BAYES_50,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,DMARC_PASS,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=4.0.1 X-Spam-Virus: No X-Envelope-From: Received: from mail-ed1-f44.google.com (mail-ed1-f44.google.com [209.85.208.44]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Tue, 16 Sep 2025 14:08:52 +0000 (UTC) Received: by mail-ed1-f44.google.com with SMTP id 4fb4d7f45d1cf-628f29d68ecso10806644a12.3 for ; Tue, 16 Sep 2025 07:10:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1758031815; x=1758636615; darn=lists.php.net; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=lnZU6fb0+Dzz7G+yjnShJmFsoUKzCg1khHhlGcY4k9c=; b=CkvzoDf9jTTIOVrEiR2tDhTaW2Q63Li+Afjxh1/u9hWi4jqxV0cj/p/OZgkms7Diby aPCPT5LrBdwBvsrbsncp+u7zhMJPu0DSj/JpQpJsVZzA0O9MBONWw8PQ5YsUo27yTCIv PIyR4Sta+vFMD32ah+/8dwsyd1xEz3nJAsW1cuv6pfWUTCoy8mUpRLHjjesBW5ytfmB6 lYZGVwsoSfAtiSfZMH/j7RXTSBZserg2X7Ic3T4hEdOHLxYFKT76lf333Ev+gUcL0d8g 6IIo5bya/FriyO/AdU7VsKN/XZXkGGmNP/2i0V7Ikb68zxDzIVD9Cn85XPracpmWDAXc eZdQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1758031815; x=1758636615; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=lnZU6fb0+Dzz7G+yjnShJmFsoUKzCg1khHhlGcY4k9c=; b=D0pMN4tmEMKP7SQs9tGiF2NdHbBLPZdzhYBNhRAIXJCdvit+yA37S1pK+FWhQFkcjO MRgGIWB9AGteBwu5N4jOBXkvYib6ao9c8l+XEqytWuFh1H/G3SYT+JBnmfWzEY39i3nm efC2cMbJG2223yp17Cgr/37Q27MsynetICLtNJX/OVvy1Mm+hlWZ0Boi/s/guuVhPn0b Tq/fy+8dc0DOYAv89unRYdUFgDx01M9KYDU6ndM1/o44xTTKfoJaYZPm/QMmJsg38txM su+vzoJxd+IBntekvQw2iY5WRbVfEurWLj5y1NZcDMd800SoqV2RyqBd0PvIVq4rZGSu EZXw== X-Gm-Message-State: AOJu0YxRjkfPYcrBJaRLnE080Nm9TgSGYEfbTIajBKH32Bu4dR7MfQcl S/a5s4/ZZvE3jd5EpwoRwzXcpDZ9LHQghNg/mF/12uYKGVGDoOcSkN6MUqDlxi2+jHnlTlB00oq CtngNpB+CClgkl5y0qvOQD2rHmYUwpFstJA== X-Gm-Gg: ASbGncvb39CkV6qeW9lUk0fq/kolsZaGRtYp3FdoOU1+gLXIf6pwY7LH/RnJ3tu3Ojw RSdtGUk+YezFU41ic3wy43IWXKSH31JWyH9SPme3/R050vdTFS/UIDc8CR57+5kXiAKvH5zPv04 WstYjiCE6R/n3jp6dZ+CPs/yGf3qABJ804c1jSiO/iA3+GysFl6/I8URqFF0g+/MGC7AHLGqtId P8RAbAQ73wZHGRhY2aS/r5P5PJ4+69zcgIxSRE= X-Google-Smtp-Source: AGHT+IEHce8asQNUN2DMVXAXtzQ1NAwcIqKN6iXuLW9gnyolpUzY94tFXuiIAZ8mqDSaKE8wdxJOLaMroCsRiA4abWw= X-Received: by 2002:a05:6402:3581:b0:62f:4b7b:4958 with SMTP id 4fb4d7f45d1cf-62f4b7b4da1mr5268576a12.12.1758031815243; Tue, 16 Sep 2025 07:10:15 -0700 (PDT) Precedence: list list-help: list-post: List-Id: x-ms-reactions: disallow MIME-Version: 1.0 References: <694fd998-43a2-4c6b-828c-aa1feb81d424@app.fastmail.com> In-Reply-To: <694fd998-43a2-4c6b-828c-aa1feb81d424@app.fastmail.com> Date: Tue, 16 Sep 2025 16:10:03 +0200 X-Gm-Features: AS18NWAT_Fm1taRFXllO1YowGlllCPVPfKzpJ7SYaJ0MIknpnqmjIOflIIgUW9s Message-ID: Subject: Re: [PHP-DEV] [RFC] Add pack()/unpack() support for signed integers with specific endianness To: Rob Landers Cc: internals@lists.php.net Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable From: alex.daubois+php@gmail.com (Alexandre Daubois) Hi Rob, > Thank you for your work on this. Of all the RFCs I've seen in awhile, thi= s one is one that I'm most excited to see after writing a protobuf implemen= tation. Happy to see you immediately have a use case in mind while reading this! > If there is one thing I would be over the moon for, it would be for also = adding zigzag encoding as a possible signed integer encoding (maybe using Z= /z as the letter)? I wasn't aware this encoding existed. I'm happy to learn about it! Unfortunately, Z is already used with pack/unpack. After a quick research, I think it would be a nice feature. I also noticed that languages like Rust and Python use external packages for this it seems. I guess it would be better to have dedicated functions. I don't think it should be included in this RFC, but that is an interesting idea nevertheless. I'd be really interested if someone comes up with an RFC for this feature! =E2=80=94 Alexandre Daubois