1.1 介绍
福哥在用python去读php语言开发的项目的数据库的时候,发现一些字段里存储的居然是经过php的r下雪发朋友圈短句ialize函数序列化过的数据,这个要解开它通过json库是不行的了,怎么办呢?
原来python专门有个库用来模拟php语言的rialize和unrialize的功能,它就是phprialize库。
phprialize库可以直接通过pip进行安装。
pip3installphprialize
3.1 序列化
使用phpparis是什么意思rialize库序列化一个结构转化为一个字符串用到的是dumps方法,用我的祖国朗诵词法和json库类似,区别是编码参数不是encoding是chart。
ur={'id':35,'name':"福哥",'abilities':["php","java","python","javascript","c/c++","asp.net"]}print("原始数据:")print(ur)print("序列化数据:")ursn=phprialize.dumps(ur,chart="utf-8")print(ursn)
可以看到序列化的结果和php的rialize基本一致。因为福哥设置的编码的utf-8的,所以“福哥”占用了6个字符。
使用phprialize库反序列化一个序列化字符串得到原始数据结构用的是loads方法,用法和json库基本一样,同样编码参数也是chart而不是我们想象的encoding。
ursn=b"a:3:{s:2:"id";i:35;s:4:"name";s:6:"xe7xa6x8fxe5x93xa5";s:9:"abilities";a:6:{i:0;s:3:"php";i:1;s:4:"java";i:2;s:6:"python";i:3;s:患寡而患不均什么意思10:"javascript";i:4;s:5:"c/c++";i:5;s:7:"asp.net";}}"pri仓龙nt("序列化数据:")print(ursn)print("原始数据:")ur=phprialize.loads(ursn,chart="utf-8")print(ur)
反序列化的时候最好也加上编码参数,避免以默认编码反序列化出现错误的情况。
福哥今天带着童鞋们学习了python的phprialize库的使用方法,通过phprialize库可以让python语言拥有解析php的序列化数据的能力。
本文发布于:2023-04-05 08:21:10,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/d44dae709374a61172c4a1607cf649e9.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:python与php哪个好(python项目管理方法).doc
本文 PDF 下载地址:python与php哪个好(python项目管理方法).pdf
留言与评论(共有 0 条评论) |