php怎么实现ucs2编码

php怎么实现ucs2编码,第1张

php怎么实现ucs2编码

php实现ucs2编码的方法:1、创建一个PHP示例文件;2、通过“function Ucs2Code($str,$encode="UTF-8"){...}”方法实现ucs2编码即可。

本文 *** 作环境:Windows7系统、PHP7.1版、Dell G3电脑。

php怎么实现ucs2编码?

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视频教程》

以上就是php怎么实现ucs2编码的详细内容,

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/682433.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-20
下一篇 2022-04-20

发表评论

登录后才能评论

评论列表(0条)

保存