今天在做公司的項目的時候,遇到一個問題,群聊天記錄存入數據庫的時候把聊天記錄及央視使用16進制轉換,我在做將聊天記錄導出為text文本的時候,需要將聊天記錄先從16進制轉換為普通的Unicode編碼記錄.
然后在從中取出所需要導出的message信息,不多說了,以下代碼屬于線下的,線上的就不透漏了,算是一篇非常的簡單的php吧:
- <?php
- /*將16進制編碼轉換為漢字*/
- function hexDecode($s) {
- return preg_replace('/(w{2})/e',"chr(hexdec('/1'))",$s);
- }
- /*漢字轉換成16進制后的編碼*/
- $str="7B22636F6E74726F6C223A22343AE5AE8BE4
- BD932C422C302C30222C22657874656E6469
- 6E666F223A22323031343033323731383
- 53335397C307C7EE4B88DE8A681E(www.111cn.net)68993E985B1
- E6B2B97E222C22657874656E6474
- 797065223A22222C2274
- 797065223A226E6F726D616C6D7367
- 222C226D7367223A2261
- 646720227D"; www.111cn.net
- $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字段信息
- ?>
新聞熱點
疑難解答