unicode转字符串
方法一:json
/** * unicode转字符串,通过json转化 * @param $str * @return string */ function unicode_decode_by_json($str) { $json = \'{\"str\":\"\' . $str . \'\"}\'; $arr = json_decode($json, true); if (empty($arr)) return \'\'; return $arr[\'str\']; }
方法二:
/** * unicode转中文 * @param $data * @return null|string|string[] */ function unicode_decode($data) { $rs = preg_replace_callback(\'/\\\\\\\\u([0-9a-f]{4})/i\', \'replace_unicode_escape_sequence\', $data); return $rs; } function replace_unicode_escape_sequence($match) { return mb_convert_encoding(pack(\'H*\', $match[1]), \'UTF-8\', \'UCS-2BE\'); }
字符串转unicode
/** * @param string $str 需转换字符,这里为单个字符 * @return string */ function get_unicode($str) { $bin_str = \'\'; $arr = is_array($str) ? $str : str_split($str);//获取字符内部数组表示,此时$arr应类似array(228, 189, 160) foreach ($arr as $value) $bin_str .= decbin(ord($value));//转成数字再转成二进制字符串,$bin_str应类似111001001011110110100000,如果是汉字\"你\" $bin_str = preg_replace(\'/^.{4}(.{4}).{2}(.{6}).{2}(.{6})$/\', \'$1$2$3\', $bin_str);//正则截取, $bin_str应类似0100111101100000,如果是汉字\"你\" $unicode = dechex(bindec($bin_str));//返回unicode十六进制 $_sup = \'\'; for ($i = 0; $i < 4 - strlen($unicode); $i++) $_sup .= \'0\';//补位高字节 0 return \'\\\\u\' . $_sup . $unicode; //加上 \\u 返回 } /** * 转化字符串为unicode * @param $str string 可单个/复数个 * @return string */ function unicode_encode($str) { $_arr_str = preg_split(\'/(?<!^)(?!$)/u\', $str);//拆分字符串为数组(含中文字符) $_ret_unicode = \'\'; foreach ($_arr_str as $_str) $_ret_unicode .= get_unicode($_str); return $_ret_unicode; }
测试效果:
$_str_test = \'see,你看我哪里像好人\'; $_unicode = unicode_encode($_str_test); echo $_str_test . \' <b style=\"color: red\">=></b> \' . $_unicode, \'<br><br>\'; echo $_unicode . \' <b style=\"color: red\">=></b> \' . unicode_decode($_unicode), \'<br><br>\'; echo $_unicode . \' <b style=\"color: red\">=></b> \' . unicode_decode_by_json($_unicode), \'<br><br>\';
继续阅读与本文标签相同的文章
-
东方富海董事长陈玮:想要牛市,要大幅提升直投比例。
2026-05-19栏目: 教程
-
一个系统,搞定闲鱼服务端复杂问题告警-定位-快速处理
2026-05-19栏目: 教程
-
中小企业如何建官方网站 | 推荐阿里云自营建站服务
2026-05-19栏目: 教程
-
从求生存到修体系,我在阿里找到了技术人的成长模式 | 8月29号栖夜读
2026-05-19栏目: 教程
-
阿里钉钉副总裁白惠源:数字未来已来,“钉钉”能为你带来哪些变革?
2026-05-19栏目: 教程
