PHP数组到二进制数据

时间:2010-09-07 16:32:22

标签: php arrays utf-8

好的,所以我有一个带整数的数组(从intel Hex文件转换而来),需要输出为二进制。

这是文件阅读器,但如何将数组转换回字节流(utf-8)?

$filename = "./latest/firmware.hex";
$file = fopen($filename, "r");
$image = array();
$imagesize = 0;
$count = 0;
$address = 0;
$type = 0;

while(!feof($file))
{
    $line = fgets($file);
    $count = intval(substr($line,1,2));
    $address = intval(substr($line,3,4));
    $type = intval(substr($line,7,2));
    if($type==0)
    {
        for ($i=0; $i < $count; $i++) { 
            $image[$address+1] = intval(substr($line,9+$i*2,2));
            if (($address + $i) > $imagesize)
            {
                $imagesize = $address + $i;
            }
        }
    }   
    else if($type == 1)
    {
        break;
    }
}

1 个答案:

答案 0 :(得分:2)

  • 第1步:使用chr()从ascii值中获取字符。

  • 步骤2:使用fwrite()将二进制数据写入文件。

您可能希望在将其写入文件之前将其收集到缓冲区。 PHP字符串可以安全地包含零。