ホームページ >バックエンド開発 >PHPチュートリアル >PHP 中国語単語分割ソース コードで発生した小さな問題
define('_SP_', chr(0xFF).chr(0xFE)); define('UCS2', 'ucs-2be');
//载入副词典 $hw = ''; $ds = file($dicAddon);//17行的txt格式字典文件 foreach($ds as $d) { $d = trim($d); if($d=='') continue; $estr = substr($d, 1, 1); if( $estr==':' ) { $hw = substr($d, 0, 1); } else { $spstr = _SP_; $spstr = iconv(UCS2, 'utf-8', $spstr);//怎么会出现ucs2编码?咋回事 $ws = explode(',', $d);//每一行的汉字,用中间的逗号分成数组 $wall = iconv('utf-8', UCS2, join($spstr, $ws));//用_SP_又组合成了字符串??,然后又转换成了ucs2? $ws = explode(_SP_, $wall);//又接着分割成数组?啥意思啊!!! foreach($ws as $estr) { $this->addonDic[$hw][$estr] = strlen($estr); } } }
あなたの辞書ファイルは ucs-2be によってエンコードされています
chr(0xFF).chr(0xFE) は ucs-2be の BOM です
あなた辞書ファイルは ucs-2be でエンコードされています
chr(0xFF).chr(0xFE) は ucs-2be の BOM です
_SP_ 定数を設定する目的は何ですか? ucs-2be の BOM を直接書き込んで変数に格納するだけです。なぜそれを計算するために chr() 関数を使用する必要があるのでしょうか。
しかし、作者はあなたほど賢くないので、文字列関数を使用して書いています
でも、作者はあなたほど賢くないので、文字列関数を使って書いています
作者は dede の作者ですが、どうしてそんなことができるのでしょうか?ケンディング節、ジェヤンデ
適応する方法がわかりません!
適応する方法がわかりません!
モデレーター、BOM ではなく _SP_ を文字列分割マークとして使用することがよくわかりません。
「ASCII 比較テーブルで FF と FE の 2 つの対応するエンコーディングが見つからない」ということはありません
define('_SP_', chr(0xFF).chr(0xFE)); define('UCS2', 'ucs-2be');$spstr = _SP_;$spstr = iconv(UCS2, 'utf-8', $spstr);echo bin2hex($spstr);をもう一度見て、efbfbe を取得してください
あなたは「in」ではありませんascii 比較「FF と FE の 2 つの対応するコードがテーブル内に見つかりません。」
define('_SP_', chr(0xFF).chr(0xFE)); define('UCS2', 'ucs-2be');$spstr = _SP_;$spstr = iconv(UCS2, 'utf-8', $spstr);echo bin2hex($spstr);をもう一度見て、efbfbe を取得してください