小編給大家分享一下php如何實現ucs2編碼,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
php實現ucs2編碼的方法:1、創建一個PHP示例文件;2、通過“function Ucs2Code($str,$encode="UTF-8"){...}”方法實現ucs2編碼即可。

本文操作環境:Windows7系統、PHP7.1版、Dell G3電腦。
PHP實現UCS2編碼解碼 手機發送短信時編碼
代碼如下:
/***
* @Method Ucs2Code UCS2編碼
* @Param $str 輸入字符串
* @Param $encod 輸入字符串編碼類型(UTF-8,GB2312,GBK)
* @Return 返回編碼后的字符串
*/
function Ucs2Code($str,$encode="UTF-8"){
$jumpbit=strtoupper($encode)=='GB2312'?2:3;//跳轉位數
$strlen=strlen($str);//字符串長度
$pos=0;//位置
$buffer=array();
for($pos=0;$pos<$strlen;){
if(ord(substr($str,$pos,1))>=0xa1){//0xa1(161)漢字編碼開始
$tmpChar=substr($str,$pos,$jumpbit);
$pos+=$jumpbit;
}else{
$tmpChar=substr($str,$pos,1);
++$pos;
}
$buffer[]=bin2hex(iconv("UTF-8","UCS-2",$tmpChar));
}
return strtoupper(join("",$buffer));
}
/***
* @Method unUcs2Code UCS2解碼
* @Param $str 輸入字符串
* @Param $encod 輸入字符串編碼類型(UTF-8,GB2312,GBK)
* @Return 返回解碼后的字符串
*/
function unUcs2Code($str,$encode="UTF-8"){
$strlen=strlen($str);
$step=4;
$buffer=array();
for($i=0;$i<$strlen;$i+=$step){
$buffer[]=iconv("UCS-2",$encode,pack("H4",substr($str,$i,$step)));
}
return join("",$buffer);
}
echo Ucs2Code("進入圍欄");
echo unUcs2Code("8FDB516556F4680F");以上是“php如何實現ucs2編碼”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。