前幾天我在oso論壇上問有沒有這個來源程序,沒人回覆。終於下定決心移植一個這樣的函數,感謝網友Keyes提供移植用的Delphi原始碼。其呼叫方式為$txt=big5togb($txt)。
(註:原始碼中的include "data_big5.php";這個檔案在就是一個數組,在http://caocao.oso.com.cn/data_big5.zip,請編輯下載到oso上,做一個鏈接,因為這個文件我過幾天就要刪除了。)
/**************************************************** ******** ********************
.:caocao
🎜> http://caocao .oso.com.cn
es2000@263.net
http://my-wjl.scu.edu.cn/Keyes function isbig5($code)
{
if (strlen($code)>=2)
{
$code=strtok ($代碼,"");
if (ord($code[0]) }
其他
{
if (((ord($code[1]) >= 64)&&(ord($code[1]) = 161)&&(ord($code[1]) {
return (1)
return(1)
return (1)
> {
返回(0);
}
}
} }
函數big5offset($code)
{
if (strlen($code) >= 2)
{
$code=strtok ($ $code[1]) >= 64)&&(ord($code[1]) {
return ((ord($code[ 0]) - 161) * 157 (ordord ($code[1]) - 64));
}
if ((ord($code[1]) >= 161)&&(ord($code[1]) {
return ((ord ($code[0]) - 161) * 157 63 (ord($code[1]) - 161));
-1);
}
函數wordtostring($code)
{
return (chr(hexdec(substr($code,0,2))).chr(hexdec(substr ($code, 2,2)));
}
函數big5togb($code)
{
include "data_big5.php";
$output="" ;
$length=strlen($code);
$code=strtok($code,"");
$idx=0;
while ($idx {
$tmpStr=$code[$idx].$code[$idx 1];
if (isbig5($tmpStr)) if (($offset >= 0)||($offset {
$idx ;
}
其他
{
}
其他
{
$output.= $code[$idx];
}
$idx ;
}
返回($輸出);
}
? >
【論文版權歸作者與奧索網共同擁有,如需轉載,請版權作者及出處】