php ord和chr函數


直接上代碼

        //通過ord()函數獲取字符的ASCII碼值,如果返回值大於 127則表示為中文字符的一半,再獲取后一半組合成一個完整字符
        $string = "hello不要迷戀哥world";
        $string=iconv('utf-8', 'gbk', $string);////由於ord函數在gbk下單個中文長度為2,utf-8下長度為3
        $length = strlen($string);
        var_dump($string);//原始中文
        var_dump($length);//長度

        //把字符串轉化為ascii碼存入數組,如果是中文是由兩個ASCII碼組成,英文是一個
        $result = array();
        for($i=0;$i<$length;$i++){
            if(ord($string[$i])>127){
                $result[] = ord($string[$i]).' '.ord($string[++$i]);
            }else{
                $result[] = ord($string[$i]);
            }
        }
        var_dump($result);

        $str = '';
        foreach($result as $v){
            if(empty(strstr($v,' '))){
                $str .= chr($v);
            }else{
                list($a,$b) = explode(' ',$v);
                $str .= chr($a).chr($b);
            }
        }
        echo $str;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM