支援二級漢字的 php 漢字助記碼生成

2021-09-21 17:46:54 字數 1153 閱讀 6061

gbk2312 編碼範圍共94區,

0-55區為一級漢字, 是按照拼音順序排列的, 可以按照編碼區間確定漢字的拼音,

但是 56 區以後是按筆畫順序排列的, 所以只能用對照表來確定拼音

鑑於目前我找不到現成的**, 固整理了乙份, 測試可用.

/**

* php 漢字轉拼音

* echo cutf8_py::encode('字串'); //編碼為拼音首字母

* echo cutf8_py::encode('字串', 'all'); //編碼為全拼音

*/class utf8topy );

if ($ichr>160)

$ichr = ($ichr<<8) + ord($sgbk) - 65536;

if ('head' === $sretformat)

$abuf = substr(self::zh2py($ichr),0,1);

else

$abuf = self::zh2py($ichr);

}if ('head' === $sretformat)

return implode('', $abuf);

else

return implode('', $abuf);

}/**

* 中文轉換到拼音(每次處理乙個字元)

* @param number $iword 待處理字元雙位元組

* @return string 拼音

*/private static function zh2py($iword) elseif ($iword<-20319||$iword>-10247)

}$gbk = $iword + 65536;

$f = $gbk >> 8;

$s = $gbk - ($f << 8);

$z = iconv('gbk', 'utf-8', chr($f).chr($s));

if(isset($pinyins[$z]))return $pinyins[$z];

return '';

} else

return $result;}}

}function zjc($zh)catch(\exception $e)

}

需要的同學拿走吧.

漢字轉拼音 支援20870個漢字,包含完整的多音字

為了便於在網路上的傳輸,本人想辦法寫了乙個壓縮演算法,目前這個版本是壓縮好的,帶自解壓功能 以下說明壓縮思路 理想狀態下是使用stirng.prototype.localcompare了,但是由於這玩意並不是所有瀏覽器實現都一樣,例如chrome早期的就不是按拼音排序,所以這個方案先放一邊 那網上最...

php漢字全是問號 php中文漢字字串的擷取問號

漢字中文使用php自帶函式擷取有時會碰到有問號了,下面我們整理了幾個非常不錯的漢字中文精確擷取例項。php在操作字串的問題時間無非兩個問題 1.判斷字串編碼是gbk還是unicode。2.對相應編碼採取相應擷取方法。一般情況下我們使用substr擷取漢字可能會遇到亂碼問題。因為漢字是雙位元組的,當被...

PHP讀取漢字的點陣資料

專案中遇到的問題 php如何讀取漢字的點陣資料?想實現輸入一段文字,能得到這一段文字的所有點陣碼。解決方法 簡體中文國標字型檔7445個字元,其中漢字6773個,包括一級漢字3755個,二級漢字3008個。採用2位元組 16位二進位制 編碼。區位碼 國標gb2312規定,所有的國標漢字與符號組成乙個...