【 tulaoshi.com - PHP 】
                             
                               前几天我在oso论坛上问有没有这个源程序,没人回复。终于下定决心移植一个这样的函数,感谢网友Keyes提供移植用的Delphi源代码。其调用方式为$txt=big5togb($txt)。 
    (注:源代码中的include "data_big5.php";这个文件在就是一个数组,在http://caocao.oso.com.cn/data_big5.zip,请编辑下载到oso上,做一个链接,因为这个文件我过几天就要删除了。) 
<? 
/*********************************************************************** 
                       Written by caocao 
                       caocao@eastday.com 
                       http://caocao.oso.com.cn                         
                       With the help of Keyes 
                       Keyes2000@263.net 
                       http://my-wjl.scu.edu.cn/~Keyes 
***********************************************************************/ 
function isbig5($code) 
{ 
  if (strlen($code)=2) 
  { 
    $code=strtok($code,"");      
    if (ord($code[0]) < 161) 
    { 
      return (0); 
    } 
    else 
    { 
      if (((ord($code[1]) = 64)&&(ord($code[1]) <= 126))||((ord($code[1]) = 161)&&(ord($code[1]) <= 254))) 
      { 
        return (1); 
      } 
      else 
      { 
        return (0); 
      } 
    } 
  } 
  else 
  { 
    return (0); 
  } 
} 
function big5offset($code) 
{ 
  if (strlen($code) = 2) 
  { 
    $code=strtok($code,""); 
    if ((ord($code[1]) = 64)&&(ord($code[1]) <= 126)) 
    { 
      return ((ord($code[0]) - 161) * 157 + (ord($code[1]) - 64)); 
    } 
    if ((ord($code[1]) = 161)&&(ord($code[1]) <= 254)) 
    { 
      return ((ord($code[0]) - 161) * 157 + 63 + (ord($code[1]) - 161)); 
    } 
  } 
  return (-1); 
} 
function wordtostring($code) 
{ 
  return (chr(hexdec(substr($code,0,2))).chr(hexdec(substr($code,2,2)))); 
} 
function big5togb($code) 
{ 
  include "data_big5.php"; 
  $output=""; 
  $length=strlen($code); 
  $code=strtok($code,""); 
  $idx=0; 
  while ($idx < $length) 
  { 
    $tmpStr=$code[$idx].$code[$idx+1];      
    if (isbig5($tmpStr)) 
   &