您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

PHP正确解析UTF-8字符串技巧应用

2025/12/29 20:14:46发布17次查看
总结了一个utf-8的编码规则,根据这个编码规则,写一个utf-8编码的解析程序,以下是php的实现,需要的朋友可以参考下
在《学习php&mysql之——字符编码篇(一)》中介绍了unicode与utf-8的转换关系,总结了一个utf-8的编码规则,根据这个编码规则,写一个utf-8编码的解析程序,以下是php的实现:
复制代码 代码如下:
>2) === 0x3f){ // 将高位右移2位,和二进制111111比较,相同则取6个字节
// 截取2个字节
$count = 6;
}else if(($high>>3) === 0x1f){ // 将高位右移2位,和二进制11111比较,相同则取5个字节
// 截取3个字节
$count = 5;
}else if(($high>>4) === 0xf){ // 将高位右移2位,和二进制1111比较,相同则取4个字节
// 截取4个字节
$count = 4;
}else if(($high>>5) === 0x7){ // 将高位右移2位,和二进制111比较,相同则取3个字节
// 截取5个字节
$count = 3;
}else if(($high>>6) === 0x3){ // 将高位右移2位,和二进制11比较,相同则取2个字节
// 截取6个字节
$count = 2;
}else if(($high>>7) === 0x0){ // 将高位右移2位,和二进制0比较,相同则取1个字节
$count = 1;
}
// echo '$count='.$count.'
';
$res .= substr($str,$offset,$count); // 取出一个字符与$res字符串连接
$chars += 1; // 截取到的字符数+1
$offset += $count; // 截取高位偏移量向后移$count字节
}
return $res;
}
echo utf8sub($str,100);
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product