今天在做公司的项目的时候,遇到一个问题,群聊天记录存入数据库的时候把聊天记录及央视使用16进制转换,我在做将聊天记录导出为text文本的时候,需要将聊天记录先从16进制转换为普通的Unicode编码记录.
然后在从中取出所需要导出的message信息,不多说了,以下代码属于线下的,线上的就不透漏了,算是一篇非常的简单的php吧:
- <?php
-
- function hexDecode($s) {
- return preg_replace('/(w{2})/e',"chr(hexdec('\1'))",$s);
- }
-
- $str="7B22636F6E74726F6C223A22343AE5AE8BE4
- BD932C422C302C30222C22657874656E6469
- 6E666F223A22323031343033323731383
- 53335397C307C7EE4B88DE8A681E(www.111cn.net)68993E985B1
- E6B2B97E222C22657874656E6474
- 797065223A22222C2274
- 797065223A226E6F726D616C6D7367
- 222C226D7367223A2261
- 646720227D"; www.111cn.net
- $a=hexDecode($str);
- echo $a;
- $a = json_decode($a);
- echo($a->msg);
- ?>
|