太粗心了!
<?php
$qh=ord(substr("江",0,1))-161;                              //取得汉字区号
$wh=ord(substr("江",1,1))-161;                              //取得汉字位号  
$data_p=$data_p+($qh*94+$wh)*32;                            //取得汉字字模数据位置  
$fp=fopen("hzk16","rb");
if(!$fp)
{
  echo "文件打开失败!";
}
else
{
  fseek($fp,$data_p);                                        //定位文件指针           
  $content=fread($fp,32);                                    //取得字模数据
//echo bin2hex($content);
//exit;
  for($i=0;$i<=15;$i++)
    {
      $line_data_l=ord(substr($content,2*$i,1));               //获取每一行左边的8个点数据
      for($j=8;$j>=1;$j--)
         {
            $data_hz[$j]=$line_data_l % 2;
            $line_data_l=($line_data_l-$data_hz[$j])/2;          
         }
      for($k=1;$k<=8;$k++)
         {
            if($data_hz[$k]==1)
              {
                 echo "江";
              }
            else
              {
                 echo "__";
              }            
         }   
      
      $line_data_r=ord(substr($content,2*$i+1,1));               //获取每一行右边的8个点数据
      for($j=8;$j>0;$j--)
         {
           $data_hz[$j]=$line_data_r % 2;
            $line_data_r=($line_data_r-$data_hz[$j])/2;          
         }
      for($k=1;$k<=8;$k++)
         {
            if($data_hz[$k]==1)
              {
                 echo "江";
              }
            else
              {
                 echo "__";
              }            
         } 
      echo "<br>";                                             //系统的换行      
    }    
}
?>

解决方案 »

  1.   

    简化代码
    .....
    $content=fread($fp,32);                                    //取得字模数据for($i=0; $i<32; $i+=2) {
      $s = sprintf("%08d", decbin(hexdec(bin2hex($content[$i]))));
      $s .= sprintf("%08d", decbin(hexdec(bin2hex($content[$i+1]))));
      echo str_replace(array('0', '1'), array('__', '江'), $s).'<br>';
    }
      

  2.   

    PHPCHINA的人说是没有转成2进制不知道是什么意思