php ASCII 字元變換 (漢字及特殊字元) 寬字元 (uft8/unicode)

來源:互聯網
上載者:User
php ASCII 字元轉換 (漢字及特殊字元) 寬字元 (uft8/unicode)

?

有點像現在流行的IME中的特殊字元。

?


1. 英文字母或者數字轉ASCII 效果如上

?

class:

?

asciiText=$output;    }}
?

執行個體:

?

asciiText;                 // asciiText is variable of converted text?>
?

可以通過css控制字元大小。具體見附件。

?

2. 漢字轉ASCII 效果為 “星期天 ” 就是 “星期天”

?

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;}echo encode('日'); // 日 瀏覽器預設會解讀,所以要看原始碼

?

3. utf-8 unicode 互轉

?

?
>6);  $str.=chr(0x80 | $c & 0x3F);  } else if ($c < 0x10000) {  $str.=chr(0xE0 | $c>>12);  $str.=chr(0x80 | $c>>6 & 0x3F);  $str.=chr(0x80 | $c & 0x3F);  } else if ($c < 0x200000) {  $str.=chr(0xF0 | $c>>18);  $str.=chr(0x80 | $c>>12 & 0x3F);  $str.=chr(0x80 | $c>>6 & 0x3F);  $str.=chr(0x80 | $c & 0x3F);  }return $str;  }echo u2utf8('20197');?>
?

?

?

?

?

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.