文章目录
环境背景:python3
string转dict
前提:字符串里面包的是个dict(引号里面是个dict)。
string正常
body_str = '{"age": 13, "name": "kk"}'
body_dict = eval(body_str)
看下关于eval()的使用
用来执行一个字符串表达式,并返回表达式的值。
字符串表达式里面的是什么类型,返回的就是一个什么类型。
所以当然了,字符串里面是个dict,那么返回结果自然也是个dict了。
string存在不可打印字符
body_str = ''.join(x for x in body_str if x.isprintable())
body_dict = eval(body_str)
dict转string
body_str = str(body_dict)
dict转 json string
import json
body_dict = {"age": 13, "name": "kk"}
body_json_str = json.dumps(body_dict)
json格式转python可识别的对象
import json
body_dict = json.loads(body_json_str) # 常用为dict
其它类型的也都可以:
被dumps的是什么类型,loads后的就是个什么类型。
不过一般常用k-v的dict,传送数据。
string转bytes字节流
import json
body_bytes = bytes(body_str, 'utf-8')
gbk编码转utf-8编码
先脱下gbk变成unicode,再穿上utf-8
data = data.decode('gbk', 'ignore')
data = data.encode('utf-8', 'ignore')