0
好吧,所以我有点麻烦(可能是由于我的无知)弄清楚了这一点。PHP二进制操作
$binary = base64_decode("AAAAAgYA3ncsRjy9");
所以,我在这里有12个字节的二进制数据,是吗?
我需要把它变成:
$binary = array("0"=>"00000000", "1"=>"00000000", "2"=>"00000000", "3"=>"00000010", "4"=>"00000110", "5"=>"00000000", "6"=>"11011110", "7"=>"01110111, "8"=>"00101100", "9"=>"01000110", "10"=>"00111100", "11"=>"10111101");
而且,最终,丢弃前6个字节,其余分成2个字节对。
$binary = array("0"=>"1101111001110111", "1"=>"0010110001000110", "2"=>"0011110010111101"
然后,将这两个字节的块转换为10位十进制数。
$binary = array("0"=>"56951", "1"=>"11334", "2"=>"15549");
我选择包含实际数据的原因是因为我想确保使用正确的术语。我一直在尝试使用pack/unpack,并且根本无法完成这项工作,可能是由于我不了解格式参数的不同可用选项。
我确定我的解释非常混乱,请接受我的道歉。任何帮助将不胜感激。
编辑:
为后人:
PHP Manual - function.call-user-func-array
希望我能给+100这个答案! –
绝对非常简单。一个问题,如果我可以:如果二进制数据被简单地视为一个字符串,因此substr是一个可用的函数为什么它打印/回显出“Þw,F <½”? –
@SamanthaP'base64_decode'返回一个字符串,你看到的'文本'是数据对应的字符。 – Gumbo