首頁 > 後端開發 > php教程 > php中utf-8转unicode,phputf-8转unicode_PHP教程

php中utf-8转unicode,phputf-8转unicode_PHP教程

WBOY
發布: 2016-07-13 10:11:59
原創
926 人瀏覽過

php中utf-8转unicode,phputf-8转unicode

<span>public</span> <span>function</span> utf8_unicode(<span>$str</span><span>) {
    </span><span>$unicode</span> = <span>array</span><span>();
    </span><span>$values</span> = <span>array</span><span>();
    </span><span>$lookingFor</span> = 1<span>;

    </span><span>for</span> (<span>$i</span> = 0; <span>$i</span> < <span>strlen</span>( <span>$str</span> ); <span>$i</span>++<span> ) {
        </span><span>$thisValue</span> = <span>ord</span>( <span>$str</span>[ <span>$i</span><span> ] );
        </span><span>if</span> ( <span>$thisValue</span> < <span>ord</span>('A'<span>) ) {
            </span><span>//</span><span> exclude 0-9</span>
            <span>if</span> (<span>$thisValue</span> >= <span>ord</span>('0') && <span>$thisValue</span> <= <span>ord</span>('9'<span>)) {
                 </span><span>//</span><span> number</span>
                 <span>$unicode</span>[] = <span>chr</span>(<span>$thisValue</span><span>);
            }
            </span><span>else</span><span> {
                 </span><span>$unicode</span>[] = '%'.<span>dechex</span>(<span>$thisValue</span><span>);
            }
        } </span><span>else</span><span> {
            </span><span>if</span> ( <span>$thisValue</span> < 128<span>) {
                </span><span>$unicode</span>[] = <span>$str</span>[ <span>$i</span><span> ];
            } </span><span>else</span><span> {
                </span><span>if</span> ( <span>count</span>( <span>$values</span> ) == 0<span> ) {
                    </span><span>$lookingFor</span> = ( <span>$thisValue</span> < 224 ) ? 2 : 3<span>;
                }
                </span><span>$values</span>[] = <span>$thisValue</span><span>;
                </span><span>if</span> ( <span>count</span>( <span>$values</span> ) == <span>$lookingFor</span><span> ) {
                    </span><span>$number</span> = ( <span>$lookingFor</span> == 3 ) ?<span>
                        ( ( </span><span>$values</span>[0] % 16 ) * 4096 ) + ( ( <span>$values</span>[1] % 64 ) * 64 ) + ( <span>$values</span>[2] % 64 ):<span>
                        ( ( </span><span>$values</span>[0] % 32 ) * 64 ) + ( <span>$values</span>[1] % 64<span> );
                    </span><span>$number</span> = <span>dechex</span>(<span>$number</span><span>);
                    </span><span>$unicode</span>[] = (<span>strlen</span>(<span>$number</span>)==3)?"\u0".<span>$number</span>:"\u".<span>$number</span><span>;
                    </span><span>$values</span> = <span>array</span><span>();
                    </span><span>$lookingFor</span> = 1<span>;
                } </span><span>//</span><span> if</span>
            } <span>//</span><span> if</span>
<span>        }
    } </span><span>//</span><span> for</span>
    <span>return</span> <span>implode</span>("",<span>$unicode</span><span>);
}</span>
登入後複製

参考文章:http://randomchaos.com/documents/?source=php_and_unicode

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/924849.htmlTechArticlephp中utf-8转unicode,phputf-8转unicode public function utf8_unicode( $str ) { $unicode = array (); $values = array (); $lookingFor = 1 ; for ( $i = 0; $i strlen ( $str ); $i ++...
相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板