我的服务器要返回给请求我的客户端一段 json 字符串(服务器代码是用 python 实现的)。格式如下:
{
“ sign ”: “ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ”,
“ name ”: "王大锤”,
“ age ”: 14
}
其中 sign 是用 openssl rsa 私钥签名” name=王大锤&age=14 ”后的结果。
在 json.dumps 的时候,就会报错,(我估计是将这个 sign 转化成 unicode 时候报错的,毕竟其本身并不是标准汉字字节码),
网上有一种写法是: sign.encode(‘ utf-8 ’, ‘ ignore')这样做成 unicode 。再去 dumps
但是这样试了的结果是签名校验失败了,请问有什么好的解决办法?
1
janxin 2015-11-02 17:59:33 +08:00
你能不能吧 sign 转化成 hex....这样就不会有问题了,是 0-9a-f 的范围内的字符
|
2
zhicheng 2015-11-02 18:04:41 +08:00 1
base64
|
3
binux 2015-11-02 18:18:26 +08:00
json 不能编码 binary 的内容, 你可以 hexdigits 也可以 base64, 都蛮常用的.
|
4
yongzhong 2015-11-02 18:29:45 +08:00
试试 json.dumps(var, ensure_ascii=False)
|
6
tonic 2015-11-02 22:41:55 +08:00
把 binary hexdigest 一下变字符串啊...
|