天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

PHP正確解析UTF-8字符串技巧應(yīng)用

在《學(xué)習(xí)php&MYSQL之――字符編碼篇(一)》中介紹了Unicode與UTF-8的轉(zhuǎn)換關(guān)系,總結(jié)了一個(gè)UTF-8的編碼規(guī)則,根據(jù)這個(gè)編碼規(guī)則,寫一個(gè)UTF-8編碼的解析程序,以下是php的實(shí)現(xiàn):
復(fù)制代碼 代碼如下:
<?php
/*
程序功能,$str是中英文混合的UTF-8編碼字符串,
將此字符串根據(jù)UTF-8的編碼規(guī)則正確的解碼并顯示。
*/


$str = '今天非常Happy,所有決定去KFC吃可樂(lè)雞翅!!!';

/*
$str 是待截取的字符串
$len 是截取的字符數(shù)
*/
function utf8sub($str,$len) {
if($len <= 0){
return '';
}

$offset = 0; // 截取高位字節(jié)時(shí)的偏移量
$chars = 0; // 截取到的字符數(shù)
$res = ''; // 存放截取的結(jié)果字符串

while($chars < $len){
// 先取字符串的第一個(gè)字節(jié)
// 將它轉(zhuǎn)為十進(jìn)制
// 再轉(zhuǎn)為二進(jìn)制
$high = ord(substr($str,$offset,1));

// echo '$high='. $high .'<br />';

if($high == null ){ // 如果取出高位為null,證明已經(jīng)取到末尾,直接break
break;
}
if(($high>>2) === 0x3F){ // 將高位右移2位,和二進(jìn)制111111比較,相同則取6個(gè)字節(jié)
// 截取2個(gè)字節(jié)
$count = 6;
}else if(($high>>3) === 0x1F){ // 將高位右移2位,和二進(jìn)制11111比較,相同則取5個(gè)字節(jié)
// 截取3個(gè)字節(jié)
$count = 5;
}else if(($high>>4) === 0xF){ // 將高位右移2位,和二進(jìn)制1111比較,相同則取4個(gè)字節(jié)

// 截取4個(gè)字節(jié)
$count = 4;
}else if(($high>>5) === 0x7){ // 將高位右移2位,和二進(jìn)制111比較,相同則取3個(gè)字節(jié)

// 截取5個(gè)字節(jié)
$count = 3;
}else if(($high>>6) === 0x3){ // 將高位右移2位,和二進(jìn)制11比較,相同則取2個(gè)字節(jié)
// 截取6個(gè)字節(jié)
$count = 2;
}else if(($high>>7) === 0x0){ // 將高位右移2位,和二進(jìn)制0比較,相同則取1個(gè)字節(jié)
$count = 1;
}
// echo '$count='.$count.'<br />';

$res .= substr($str,$offset,$count); // 取出一個(gè)字符與$res字符串連接
$chars += 1; // 截取到的字符數(shù)+1
$offset += $count; // 截取高位偏移量向后移$count字節(jié)
}
return $res;
}

echo utf8sub($str,100);

php技術(shù)PHP正確解析UTF-8字符串技巧應(yīng)用,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 亚洲精品国产拍在线观看 | 国产精品人妻无码久久久蜜桃 | 国产精品无码亚洲网 | 最新国产精品视频免费看 | 欧美黄色第一页 | 5566av资源| 99久久精品免费国产一区二区三区 | 国产精品路线1路线2路线 | 久就热视频精品免费99 | 亚洲一区二区免费看 | 国产精品久久人妻互换毛片 | 成年视频国产免费观看 | YELLOW视频直播在线观看 | 强开乳罩摸双乳吃奶视频 | 亚洲中文字幕在线精品 | 先锋影音 av | 欧美日韩国产高清综合二区 | 国产精品人妻无码久久久2022 | 伊人久久天堂 | 国产不卡视频在线观看 | 日韩欧美中文字幕在线二视频 | 特级做A爰片毛片免费看108 | 一个人日本的视频免费完整版 | 三男强一女90分钟在线观看 | 16女下面流水不遮图免费观看 | 亚洲天堂一区二区三区 | 在教室伦流澡到高潮H免费视频 | 欧美午夜不卡在线观看 | 少妇无码吹潮久久精品AV | 亚洲色图在线播放 | 成人精品视频 | 富婆大保健嗷嗷叫普通话对白 | 国产精品久久免费视频 | 伊人青青操 | 欧美日韩免费播放一区二区 | 久久精品亚洲牛牛影视 | a视频在线免费观看 | 99精品在线看 | 日本无码免费久久久精品 | 国产精品av | 国产精品日韩欧美一区二区三区 |