美文网首页
Unicode与UTF-8字符相互转换

Unicode与UTF-8字符相互转换

作者: 晨雨微风 | 来源:发表于2019-12-06 13:59 被阅读0次

    /**

    * utf8字符转换成Unicode字符

    *

    * @param $utf8_str

    * @return string

    */

    function utf8_str_to_unicode($utf8_str) {

        $unicode = (ord($utf8_str[0]) & 0x1F) << 12;

        $unicode |= (ord($utf8_str[1]) & 0x3F) << 6;

        $unicode |= (ord($utf8_str[2]) & 0x3F);

        return dechex($unicode);

    }

    /**

    * Unicode字符转换成utf8字符

    *

    * @param $unicode_str

    * @return string

    */

    function unicode_to_utf8($unicode_str) {

        $code = intval(hexdec($unicode_str));

        //这里注意转换出来的code一定得是整形,这样才会正确的按位操作

        $ord_1 = decbin(0xe0 | ($code >> 12));

        $ord_2 = decbin(0x80 | (($code >> 6) & 0x3f));

        $ord_3 = decbin(0x80 | ($code & 0x3f));

        $utf8_str = chr(bindec($ord_1)) . chr(bindec($ord_2)) . chr(bindec($ord_3));

        return $utf8_str;

    }

    推荐: 浮生无事的博客

    相关文章

      网友评论

          本文标题:Unicode与UTF-8字符相互转换

          本文链接:https://www.haomeiwen.com/subject/rofegctx.html