淺析PHP的ASCII碼轉(zhuǎn)換類
更新時間:2013年07月05日 13:02:29 作者:
本篇文章是對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í)體編號與非ASCII字符串相互轉(zhuǎn)換類實(shí)例
- php實(shí)現(xiàn)圖片轉(zhuǎn)換成ASCII碼的方法
- php小技巧之過濾ascii控制字符
- PHP詳解ASCII碼對照表與字符轉(zhuǎn)換
- php自動獲取字符串編碼函數(shù)mb_detect_encoding
- 解析php獲取字符串的編碼格式的方法(函數(shù))
- PHP安全的URL字符串base64編碼和解碼
- php下檢測字符串是否是utf8編碼的代碼
- PHP 截取字符串 分別適合GB2312和UTF8編碼情況
- 淺析PHP中的字符串編碼轉(zhuǎn)換(自動識別原編碼)
- php中支持多種編碼的中文字符串截取函數(shù)!
- PHP實(shí)現(xiàn)ASCII碼與字符串相互轉(zhuǎn)換的方法
相關(guān)文章
php5對象復(fù)制、clone、淺復(fù)制與深復(fù)制實(shí)例詳解
這篇文章主要介紹了php5對象復(fù)制、clone、淺復(fù)制與深復(fù)制,結(jié)合實(shí)例形式詳細(xì)分析了php5對象復(fù)制、clone、淺復(fù)制與深復(fù)制相關(guān)概念、原理、使用技巧與操作注意事項(xiàng),需要的朋友可以參考下2019-08-08PHP讀取配置文件類實(shí)例(可讀取ini,yaml,xml等)
這篇文章主要介紹了PHP讀取配置文件類,可讀取ini,yaml,xml等配置文件,具有一定參考借鑒價值,需要的朋友可以參考下2015-07-07PHP+mysql實(shí)現(xiàn)的三級聯(lián)動菜單功能示例
這篇文章主要介紹了PHP+mysql實(shí)現(xiàn)的三級聯(lián)動菜單功能,涉及mysql數(shù)據(jù)庫創(chuàng)建、數(shù)據(jù)添加及php讀取mysql、創(chuàng)建聯(lián)動菜單相關(guān)操作技巧,需要的朋友可以參考下2019-02-02php之使用docker運(yùn)行workerman案例講解
這篇文章主要介紹了php之使用docker運(yùn)行workerman案例講解,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-08-08PHP實(shí)現(xiàn)將顏色hex值轉(zhuǎn)換成rgb的方法
這篇文章主要介紹了PHP實(shí)現(xiàn)將顏色hex值轉(zhuǎn)換成rgb的方法,涉及PHP針對字符串與數(shù)組的數(shù)學(xué)運(yùn)算相關(guān)操作技巧,需要的朋友可以參考下2016-05-05Mac下關(guān)于PHP環(huán)境和擴(kuò)展的安裝詳解
今天小編就為大家分享一篇Mac下關(guān)于PHP環(huán)境和擴(kuò)展的安裝詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-10-10php采集文章中的圖片獲取替換到本地(實(shí)現(xiàn)代碼)
本篇文章是對php采集文章中的圖片獲取替換到本地的實(shí)現(xiàn)代碼進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-07-07php中引用&的用法分析【變量引用,函數(shù)引用,對象引用】
這篇文章主要介紹了php中引用&的用法,結(jié)合實(shí)例形式較為詳細(xì)的分析了變量引用,函數(shù)引用,對象引用的概念與相關(guān)使用技巧,需要的朋友可以參考下2016-12-12