PHP如何将从二进制文件中读取的字节转换为数字
$a=fread($file,4);变量$a从二进制文件$file中读取了4个字节的数据,已经知道这四个字节代表一个整数请问这样才能将$a转换为整数,能正确输出和能进行如...
$a=fread($file,4);
变量$a 从二进制文件$file中读取了4个字节的数据,已经知道这四个字节代表一个整数
请问这样才能将$a 转换为整数,能正确输出和能进行如if($a>20)这样数值比较, 展开
变量$a 从二进制文件$file中读取了4个字节的数据,已经知道这四个字节代表一个整数
请问这样才能将$a 转换为整数,能正确输出和能进行如if($a>20)这样数值比较, 展开
3个回答
展开全部
bindec函数可转换二进制数为十进制数
更多追问追答
追问
bindec函数不行,bindec函数只是能将 $a="10010101";这样像二进制数 的字符串或者数字转换为10进制,我的那个是可是从文件中读取出来的4个字节哦~
追答
怎么就不可以了?fread函数的返回值难道还不是字符串么?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
bindec 这个函数可以
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
$a=fread(....);//读4个字节
$d=unpack(‘V’,$a); //按32bit无符号小端解码。大端用字母N
echo $d[0];
另,手工计算也可以
$a=fread(....);//读4个字节
$d=ord($a[0]);
$d|=ord($a[1])<<8;
$d|=ord($a[2])<<16;
$d|=ord($a[3])<<24;
按小端计算
$d=unpack(‘V’,$a); //按32bit无符号小端解码。大端用字母N
echo $d[0];
另,手工计算也可以
$a=fread(....);//读4个字节
$d=ord($a[0]);
$d|=ord($a[1])<<8;
$d|=ord($a[2])<<16;
$d|=ord($a[3])<<24;
按小端计算
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询