美文网首页
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