ps: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-">本文实例讲述了PHP实现Unicode编码相互转换的方法。分享给大家供大家参考,具体如下:
代码如下 | 复制代码 |
/**
* $str 原始中文字符串
* $encoding 原始字符串的编码,默认utf-8
* $prefix 编码后的前缀,默认""
* $postfix 编码后的后缀,默认";"
*/
functionunicode_encode($str,$encoding='utf-8',$prefix='',$postfix=';') {
//将字符串拆分
$str= iconv("UTF-8","gb2312",$str);
$cind= 0;
$arr_cont=array();
for($i= 0;$i if(strlen(substr($str,$cind, 1)) > 0) {
if(ord(substr($str,$cind, 1)) < 0xA1) {//如果为英文则取1个字节
array_push($arr_cont,substr($str,$cind, 1));
$cind++;
}else{
array_push($arr_cont,substr($str,$cind, 2));
$cind+=2;
}
}
}
foreach($arr_contas&$row) {
$row= iconv("gb2312","UTF-8",$row);
}
//转换Unicode码
foreach($arr_contas$key=>$value) {
$unicodestr.=$prefix.base_convert(bin2hex(iconv('utf-8','UCS-4',$value)), 16, 10) .$postfix;
}
return$unicodestr;
}
/**
* $str Unicode编码后的字符串
* $decoding 原始字符串的编码,默认utf-8
* $prefix 编码字符串的前缀,默认""
* $postfix 编码字符串的后缀,默认";"
*/
functionunicode_decode($unistr,$encoding='utf-8',$prefix='',$postfix=';') {
$arruni=explode($prefix,$unistr);
$unistr='';
for($i= 1,$len=count($arruni);$i<$len;$i++) {
if(strlen($postfix) > 0) {
$arruni[$i] =substr($arruni[$i], 0,strlen($arruni[$i]) -strlen($postfix));
}
$temp=intval($arruni[$i]);
$unistr.= ($temp< 256) ?chr(0) .chr($temp) :chr($temp/ 256) .chr($temp% 256);
}
returniconv('UCS-2',$encoding,$unistr);
}
$str="PHP编程:www.jb51.net";
$unistr= unicode_encode($str);
$unistr2= unicode_decode($unistr);
echo$unistr.'
'; echo$unistr2.'
'; $unistr= unicode_encode($str,'GBK','\u');
$unistr2= unicode_decode($unistr,'GBK','\u');
echo$unistr.'
'; echo$unistr2.'
'; |
敢达决战官方正版 安卓版v6.7.9
下载敢达决战 安卓版v6.7.9
下载像素火影骨架佐助 (Perseverance Fire Shadow)手机版v1.16
下载要塞英雄 安卓版v33.20.0-39082670-Android
下载梦想城镇vivo最新版本 安卓版v12.0.1
梦想城镇vivo版是这款卡通风模拟经营类手游的渠道服版本,玩
怦然心动的瞬间 安卓版v1.0
怦然心动的瞬间是一款真人向的恋爱互动游戏,在游戏中玩家将扮演
曼尼汉堡店游戏 安卓版v1.0.3
曼尼汉堡店是一款非常好玩的精品恐怖类型冒险游戏,在这款游戏中
现代总统模拟器去广告版 安卓版v1.0.46
现代总统模拟器是一款休闲养成类游戏,可能对于不少的玩家来说都
现代总统模拟器付费完整版 安卓版v1.0.46
现代总统模拟器高级版在商店是需要付费的,相对于普通版本,高级