淺析PHP的ASCII碼轉(zhuǎn)換類
更新時(shí)間:2013年07月05日 13:02:29 作者:
本篇文章是對(duì)PHP的ASCII碼轉(zhuǎn)換類進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
復(fù)制代碼 代碼如下:
class ascii
{
function decode($str)
{
preg_match_all( "/(d{2,5})/", $str,$a);
$a = $a[0];
foreach ($a as $dec)
{
if ($dec < 128)
{
$utf .= chr($dec);
}
else if ($dec < 2048)
{
$utf .= chr(192 + (($dec - ($dec % 64)) / 64));
$utf .= chr(128 + ($dec % 64));
}
else
{
$utf .= chr(224 + (($dec - ($dec % 4096)) / 4096));
$utf .= chr(128 + ((($dec % 4096) - ($dec % 64)) / 64));
$utf .= chr(128 + ($dec % 64));
}
}
return $utf;
}
function encode($c)
{
$len = strlen($c);
$a = 0;
while ($a < $len)
{
$ud = 0;
if (ord($c{$a}) >=0 && ord($c{$a})< =127)
{
$ud = ord($c{$a});
$a += 1;
}
else if (ord($c{$a}) >=192 && ord($c{$a})< =223)
{
$ud = (ord($c{$a})-192)*64 + (ord($c{$a+1})-128);
$a += 2;
}
else if (ord($c{$a}) >=224 && ord($c{$a})< =239)
{
$ud = (ord($c{$a})-224)*4096 + (ord($c{$a+1})-128)*64 + (ord($c{$a+2})-128);
$a += 3;
}
else if (ord($c{$a}) >=240 && ord($c{$a})< =247)
{
$ud = (ord($c{$a})-240)*262144 + (ord($c{$a+1})-128)*4096 + (ord($c{$a+2})-128)*64 + (ord($c{$a+3})-128);
$a += 4;
}
else if (ord($c{$a}) >=248 && ord($c{$a})< =251)
{
$ud = (ord($c{$a})-248)*16777216 + (ord($c{$a+1})-128)*262144 + (ord($c{$a+2})-128)*4096 + (ord($c{$a+3})-128)*64 + (ord($c{$a+4})-128);
$a += 5;
}
else if (ord($c{$a}) >=252 && ord($c{$a})< =253)
{
$ud = (ord($c{$a})-252)*1073741824 + (ord($c{$a+1})-128)*16777216 + (ord($c{$a+2})-128)*262144 + (ord($c{$a+3})-128)*4096 + (ord($c{$a+4})-128)*64 + (ord($c{$a+5})-128);
$a += 6;
}
else if (ord($c{$a}) >=254 && ord($c{$a})< =255)
{ //error
$ud = false;
}
$scill .= "&#$ud;";
}
return $scill;
}
您可能感興趣的文章:
- php實(shí)現(xiàn)HTML實(shí)體編號(hào)與非ASCII字符串相互轉(zhuǎn)換類實(shí)例
- php實(shí)現(xiàn)圖片轉(zhuǎn)換成ASCII碼的方法
- php小技巧之過濾ascii控制字符
- PHP詳解ASCII碼對(duì)照表與字符轉(zhuǎn)換
- php自動(dòng)獲取字符串編碼函數(shù)mb_detect_encoding
- 解析php獲取字符串的編碼格式的方法(函數(shù))
- PHP安全的URL字符串base64編碼和解碼
- php下檢測(cè)字符串是否是utf8編碼的代碼
- PHP 截取字符串 分別適合GB2312和UTF8編碼情況
- 淺析PHP中的字符串編碼轉(zhuǎn)換(自動(dòng)識(shí)別原編碼)
- php中支持多種編碼的中文字符串截取函數(shù)!
- PHP實(shí)現(xiàn)ASCII碼與字符串相互轉(zhuǎn)換的方法
相關(guān)文章
PHP簡單實(shí)現(xiàn)記錄網(wǎng)站訪問量功能示例
這篇文章主要介紹了PHP簡單實(shí)現(xiàn)記錄網(wǎng)站訪問量功能,涉及php針對(duì)文件加鎖讀寫及日期時(shí)間轉(zhuǎn)換等相關(guān)操作技巧,需要的朋友可以參考下2018-06-06
淺談PHP設(shè)計(jì)模式之對(duì)象池模式Pool
對(duì)象池模式是一種提前準(zhǔn)備了一組已經(jīng)初始化了的對(duì)象『池』而不是按需創(chuàng)建或者銷毀的創(chuàng)建型設(shè)計(jì)模式。對(duì)象池客戶端會(huì)向?qū)ο蟪刂姓?qǐng)求一個(gè)對(duì)象,然后使用這個(gè)返回的對(duì)象執(zhí)行相關(guān)操作。當(dāng)客戶端使用完畢,它將把這個(gè)特定類型的工廠對(duì)象返回給對(duì)象池,而不是銷毀掉這個(gè)對(duì)象。2021-05-05
php實(shí)現(xiàn)parent調(diào)用父類的構(gòu)造方法與被覆寫的方法
這篇文章主要介紹了php實(shí)現(xiàn)parent調(diào)用父類的構(gòu)造方法與被覆寫的方法,在上一篇關(guān)于使用類繼承解決代碼重復(fù)問題的基礎(chǔ)上,進(jìn)一步分析了parent調(diào)用父類的構(gòu)造方法與被覆寫的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-02-02
Session服務(wù)器配置指南與使用經(jīng)驗(yàn)的深入解析
本篇文章是對(duì)Session服務(wù)器配置指南與使用經(jīng)驗(yàn)進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06

