当前位置:首页 > PHP教程 > php高级应用 > 列表

PHP把16进制的编码转为中文程序代码

发布:smiling 来源: PHP粉丝网  添加日期:2014-06-21 09:26:13 浏览: 评论:0 

今天在做公司的项目的时候,遇到一个问题,群聊天记录存入数据库的时候把聊天记录及央视使用16进制转换,我在做将聊天记录导出为text文本的时候,需要将聊天记录先从16进制转换为普通的Unicode编码记录.

然后在从中取出所需要导出的message信息,不多说了,以下代码属于线下的,线上的就不透漏了,算是一篇非常的简单的php吧:

  1. <?php 
  2. /*将16进制编码转换为汉字*/ 
  3. function hexDecode($s) { 
  4.     return preg_replace('/(w{2})/e',"chr(hexdec('\1'))",$s); 
  5. /*汉字转换成16进制后的编码*/ 
  6. $str="7B22636F6E74726F6C223A22343AE5AE8BE4 
  7. BD932C422C302C30222C22657874656E6469 
  8. 6E666F223A22323031343033323731383 
  9. 53335397C307C7EE4B88DE8A681E(www.111cn.net)68993E985B1 
  10. E6B2B97E222C22657874656E6474 
  11. 797065223A22222C2274 
  12. 797065223A226E6F726D616C6D7367 
  13. 222C226D7367223A2261 
  14. 646720227D"; www.111cn.net 
  15. $a=hexDecode($str);//调用反转换函数转换16进制 
  16. echo $a;//输出{"control":"4:宋体,B,0,0","extendinfo":"20140327185359|0|~不要打酱油~","extendtype":"","type":"normalmsg","msg":"adg "} 
  17. $a = json_decode($a); 
  18. echo($a->msg);//取出msg字段信息 
  19. ?> 

Tags: 16进制编码 中文程序代码

分享到: