rob*_*han 6 php file-format endianness
所以我在PHP中创建一个类来解析VPK文件格式.
但是我遇到了一个问题:
object(VPKHeader)#2 (3) {
["Signature"]=>
string(8) "3412aa55"
["Version"]=>
string(4) "1000"
["DirectoryLength"]=>
int(832512)
}
Run Code Online (Sandbox Code Playgroud)
签名应该是0x55aa1234,但我正在读取的签名是0x3412aa55.
如何在PHP中切换字节顺序?
如果您的十六进制值始终是字符串,您可以使用以下函数:
function swapEndianness($hex) {
return implode('', array_reverse(str_split($hex, 2)));
}
Run Code Online (Sandbox Code Playgroud)
同意,这不是最有效的,但在我看来代码非常优雅。此外,它适用于所有大小的数字。