php &#编码/php unicode转码/php &#数字编码

今天使PHP开发用到了Unicode的编码与解码,将unicode转为中文,再将中文转Unicode这样的操作是非常常见的,所以小编将这两个unicode中文互转函数给作为一个笔记保存起来,非常的简单,会用就行了。

1:下面来看PHP Unicode编码方法,将中文转为Unicode字符,例如将新浪微博转换为unicode字符串,代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
function UnicodeEncode($str){
    //split word
    preg_match_all('/./u',$str,$matches);
    $unicodeStr = "";
    foreach($matches[0] as $m){
        //拼接
        $unicodeStr .= "&#".base_convert(bin2hex(iconv('UTF-8',"UCS-4",$m)),16,10);
    }
    return $unicodeStr;
}
$str = "新浪微博";
echo UnicodeEncode($str);

 

Unicode编码输出字符串:“\u65b0\u6d6a\u5fae\u535a”

2、转码unicode ,但是HTML可识别的, 比如 企业站

复制代码
function convertToHtmlHexUnicode($string) {  
    $unicodeArray = [];  
    // 遍历字符串中的每个字符  
    for ($i = 0; $i < mb_strlen($string, 'UTF-8'); $i++) {  
        // 获取每个字符  
        $char = mb_substr($string, $i, 1, 'UTF-8');  
        // 获取该字符的 Unicode 码点  
        $unicode = mb_ord($char, 'UTF-8');  // 获取字符的 Unicode 码点  
        // 格式化为 HTML 16 进制 Unicode 编码  
        $unicodeArray[] = sprintf("&#x%04x;", $unicode);  
    }  
    // 返回连接的 Unicode 字符串  
    return implode('', $unicodeArray);  
}  
复制代码

 

 

 

 

3:unicode解码方法,将上面的unicode字符转换成中文,代码如下

1
2
3
4
5
6
7
8
function unicodeDecode($unicode_str){
    $json = '{"str":"'.$unicode_str.'"}';
    $arr = json_decode($json,true);
    if(empty($arr)) return '';
    return $arr['str'];
}
$unicode_str = "\u65b0\u6d6a\u5fae\u535a";
echo unicodeDecode($unicode_str);

 

Unicode解码结果:“新浪微博”

 

 

总结:unicode的编码解码虽然代码不多,但是真要你写出来的话,一般情况下我们还不会,因此做个笔记记下来是一个不错的选择,如果觉得帮助到了你,可以点击下方的分享按钮,或者收藏起来哦!

 
posted @   山上小和尚  阅读(2504)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示