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規定,所有的國標漢字與符號組成乙個...