如何将php中的长数字(字符串)转换为32字节缓冲区?

如何将php中的长数字(字符串)转换为32字节缓冲区?,php,byte,long-integer,data-conversion,Php,Byte,Long Integer,Data Conversion,我正在尝试转换此长数字: 706636291354404695937912139198601857502673579444101082070232002649597831199 到32字节缓冲区 我可以使用以下代码在python中实现这一点: x = "7066362913544046959379121391986018585750267357944410108207023200264959783199" x_int = int(x) x_in_bytes = (x_int)

我正在尝试转换此长数字: 706636291354404695937912139198601857502673579444101082070232002649597831199

到32字节缓冲区

我可以使用以下代码在python中实现这一点:

x = "7066362913544046959379121391986018585750267357944410108207023200264959783199"
x_int = int(x)
x_in_bytes = (x_int).to_bytes(32, byteorder='little')

在php中也可以这样做吗?

您好,您将使用方法和方法

代码如下所示:

<?php

$x = "7066362913544046959379121391986018585750267357944410108207023200264959783199";
$xInt = intval($x);
$xBytes = pack('L', $xInt);

?>


“L”字符串是格式(无符号长,始终为32位,机器字节顺序)。格式字符串由格式代码和可选的转发器参数组成。请在中阅读更多相关信息。

谢谢您的回复。
$xInt
的值将与
$x
不同,但是由于php的MAX_INT为2^63,$xInt的值将是9223372036854775807。这是正确的,我现在注意到了这一点。您可以省去该行,直接使用
pack
方法将
$x
转换为字节。