我得到了
警告: pack():1个参数未在
$vector = pack("H*",0x77,0x99);
$vector = pack("H*","4A","76"); // with quotes also give same warning但是,如果我只使用一个值,就没有警告。
$vector = pack("H*",0x77); 有人知道这个警告吗?
我应该传递什么价值来打包。应该是妖术吗?
发布于 2014-08-29 11:07:38
您应该在字符串中传递十六进制,如下所示:
$vector = pack("H*", "7799");如果使用0x77,则已经有一个值为77h的数值,即编译器将将值从十六进制转换为二进制--没有必要在其上使用pack。
如果您真的想使用0x77,0x99表示法,那么将表示法放在引号中,然后使用以下方法:
$hex="0x77,0x99";
preg_match_all("/0x([0-9A-F]{2})/i", $hex, $out);
$data = pack("H*", join($out[1]));https://stackoverflow.com/questions/25559245
复制相似问题