
我的服务器要返回给请求我的客户端一段 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 Nov 2, 2015 你能不能吧 sign 转化成 hex....这样就不会有问题了,是 0-9a-f 的范围内的字符 |
2 zhicheng Nov 2, 2015 base64 |
3 binux Nov 2, 2015 json 不能编码 binary 的内容, 你可以 hexdigits 也可以 base64, 都蛮常用的. |
4 yongzhong Nov 2, 2015 试试 json.dumps(var, ensure_ascii=False) |
6 tonic Nov 2, 2015 把 binary hexdigest 一下变字符串啊... |