gpt4 book ai didi

PHP 字符串到 "unsigned long"(来自 C++)

转载 作者:行者123 更新时间:2023-11-28 08:15:24 25 4
gpt4 key购买 nike

我在 C++ 中有这段代码,它返回输出以下数字

int main(int argn, char** argv)
{
cout << (*((unsigned long*)"P3TF")) << endl;
cin.get();
return 0;
}

我如何在 PHP 中实现上述目标(即 unsigned long int 中的字符串“P3TF”)。我尝试使用 pack 方法:

<?php
$lol = pack('N', 'P3TF');
var_dump( $lol, // returns jumbled up characters
ord($lol[0]), // returns int 0
ord($lol[1]), // returns int 0
ord($lol[2]), // returns int 0
ord($lol[3]), // returns int 0
ord($lol[0]).ord($lol[1]).ord($lol[2]).ord($lol[3]) // returns 4 zeros as a string.
);
?>

我需要它以双字节顺序排列,所以我没有使用 pack('V')pack('L')

有人知道如何实现吗?

谢谢!

最佳答案

如果在真实代码中是字面上的"P3TF",为什么不转换一次,在PHP代码中定义一个常量呢?

否则,您需要 unpack ,不打包。例如运行

<?php
$in = 'P3TF';
$arr = unpack('N', $in);
printf("%08x\n", $arr[1]);
?>

给出 50335446,这是 'P' '3' 'T' 'F' 的十六进制 ASCII 代码(串联)

关于PHP 字符串到 "unsigned long"(来自 C++),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7858709/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com