28
2014-03

PHP如何把十六进制的编码转义为汉字并取出其中的某一字段

       今天在做公司的项目的时候,遇到一个问题,群聊天记录存入数据库的时候把聊天记录及央视使用16进制转换,我在做将聊天记录导出为text文本的时候,需要将聊天记录先从16进制转换为普通的Unicode编码记录,然后在从中取出所需要导出的message信息,不多说了,代码如下,以下代码属于线下的,线上的就不透漏了:

<?php
/*将16进制编码转换为汉字*/
function hexDecode($s) {
    return preg_replace('/(\w{2})/e',"chr(hexdec('\\1'))",$s);
}
/*汉字转换成16进制后的编码*/
$str="7B22636F6E74726F6C223A22343AE5AE8BE4BD932C422C302C30222C22657874656E64696E666F223A2232303134303332373138353335397C307C7EE4B88DE8A681E68993E985B1E6B2B97E222C22657874656E6474797065223A22222C2274797065223A226E6F726D616C6D7367222C226D7367223A2261646720227D";
$a=hexDecode($str);//调用反转换函数转换16进制
echo $a;//输出{"control":"4:宋体,B,0,0","extendinfo":"20140327185359|0|~不要打酱油~","extendtype":"","type":"normalmsg","msg":"adg "}
$a = json_decode($a);
echo($a->msg);//取出msg字段信息
?>

除非注明,文章均为史亚永原创,欢迎转载!转载请注明本文地址,谢谢。

本文地址:http://www.shiyayong.cn/post/253.html

评论列表:

1  微历史  2014-4-13 11:00:50 回复该留言  IP:114.252.176.4
基础知识,可以学习的
微历史

发表评论:

(设置个性头像)

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

无觅相关文章插件,快速提升流量