移植用の Delphi ソース コードを提供してくれたネチズン Keyes に感謝します。呼び出しメソッドは $txt=gbtobig5($txt) です。
(注: ソース コードに「data_gb.php」を含めます。このファイルは http://caocao.oso.com.cn/data_gb.zip にある配列です。リンクを作成するには、編集して oso にダウンロードしてください。 、このファイルは数日以内に削除するため)
/*************************************************** *******************
caocao 著
caocao@eastday.com
http://caocao .oso.com.cn
Keyes 氏のご協力
Keyes2000@263.net
http://my-wjl.scu.edu.cn/~キーズ
************ ************************************************* *********/
function isgb($code)
{
if ( strlen($code)>=2)
{
$code=strtok($code,"");
if ((ord($code[0]) <161) ||( ord($code[0]) >= 247))
{
return (0);
}
else
{
if ((ord($ code[1) ]) <= 161)||(ord($code[1]) >= 254)) {
return (1) >関数 gboffset($code)
{
; if (strlen($code) >= 2)
{
$code=strtok($code,"")
return ((ord($code[0]) - 161) * 94 (ord($code[1]) - 161));
}
else
{
return(-1) > }
}
関数wordtostring($code)
{
return (chr(hexdec(substr($code,0,2))).chr(hexdec(substr( $code,2,2))); }
関数 gbtobig5($code)
{
include "data_gb.php";
$length=strlen($code); > $code=strtok($code,"");
$idx=0;
while ($idx {
$tmpStr=$code[$idx]。 $code[$idx 1];
if (isgb($tmpStr))
{
$offset=gboffset($tmpStr );
if (($offset >= 0) )||($offset $idx ;
}
else
{
$output.= $code[$idx] > $output .= $ code[$idx];
$idx;
}
return ($output)
;この記事は著者と Oso.com が共同所有しています。転載する必要がある場合は、著者と出典を明記してください。]