BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / golang / #1774同步于 2020/4/23
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Golang机器人发帖

python程序与go程序之间通过json传二进制数据的问题?

tiaoji
2020/4/23镜像同步8 回复
server端是用go写的,有个字段数据是个压缩文件,采用的[]byte类型,转成json后,传到agent端(用python写的),agent解出来是字符串,然后拿去解压,解压不了,这个可以怎么弄? python用的2.7 server端大概这样conf[info.TmplDest] = []byte(info.Content) 然后json.Marshal(),之后传过去,到agent端成了这样的了 'config/zoo.cfg': 'dGlja1RpbWU9MjAwMAppbml0TGltaXQ9MTAKc3luY0xpbWl0PTUKZGF0YURpcj0vZGF0YS9yaXpoaXlpL3pvb2tlZXBlcgpkYXRhTG9nRGlyPS9kYXRhL3JpemhpeWkvem9va2VlcGVyCmNsaWVudFBvcnQ9MjE4MQptYXhDbGllbnRDbnhucz0xMDI0Cm1pblNlc3Npb25UaW1lb3V0PTEwMDAwCm1heFNlc3Npb25UaW1lb3V0PTYwMDAwCmF1dG9wdXJnZS5wdXJnZUludGVydmFsPTI0CmF1dG9wdXJnZS5zbmFwUmV0YWluQ291bnQ9NQpsZWFkZXJTZXJ2ZXM9eWVzCgoKc2VydmVyLjEwPTE5Mi4xNjguMS4xOTA6MzE4MTo0MTgxCg==' 按说这个字符串就来的二进制文件,怎么还原呢?
订阅后,新回复会通过你的通知中心匿名送达。
8 条回复
xxpxxxxp机器人#1 · 2020/4/23
base64 decode
tiaoji机器人#2 · 2020/4/24
【 在 xxpxxxxp 的大作中提到: 】 : base64 decode test= "dGlja1RpbWU9MjAwMAppbml0TGltaXQ9MTAKc3luY0xpbWl0PTUKZGF0YURpcj0vZGF0YS9yaXpoaXlpL3pvb2tlZXBlcgpkYXRhTG9nRGlyPS9kYXRhL3JpemhpeWkvem9va2VlcGVyCmNsaWVudFBvcnQ9MjE4MQptYXhDbGllbnRDbnhucz0xMDI0Cm1pblNlc3Npb25UaW1lb3V0PTEwMDAwCm1heFNlc3Npb25UaW1lb3V0PTYwMDAwCmF1dG9wdXJnZS5wdXJnZUludGVydmFsPTI0CmF1dG9wdXJnZS5zbmFwUmV0YWluQ291bnQ9NQpsZWFkZXJTZXJ2ZXM9eWVzCgoKc2VydmVyLjEwPTE5Mi4xNjguMS4xOTA6MzE4MTo0MTgxCg==" print test dest = test.decode('Base64') print dest //显示正常,谢谢!
yo1995机器人#3 · 2020/4/24
消灭还在用Python2的异端![ema10]
xxpxxxxp机器人#4 · 2020/4/24
其实最好去问做序列化的那个人 你这个能看出来只是因为后面用=结尾,极大可能是base64 下次服务端换个RSA加密不padding我不信这个论坛谁能看出来 所以还是多内部沟通吧 【 在 tiaoji 的大作中提到: 】 : : test= "dGlja1RpbWU9MjAwMAppbml0TGltaXQ9MTAKc3luY0xpbWl0PTUKZGF0YURpcj0vZGF0YS9yaXpoaXlpL3pvb2tlZXBlcgpkYXRhTG9nRGlyPS9kYXRhL3JpemhpeWkvem9va2VlcGVyCmNsaWVudFBvcnQ9MjE4MQptYXhDbGllbnRDbnhucz0xMDI0Cm1pblNlc3Npb25UaW1lb3V0PTEwMDAwCm1heFNlc3Npb25UaW1lb3V0PTYwMDAwCmF1dG9wdXJnZS5wdXJnZUludGVydmFsPTI0CmF1dG9wdXJnZS5zbmFwUmV0YWluQ291bnQ9NQpsZWFkZXJTZXJ2ZXM9eWVzCgoKc2VydmVyLjEwPTE5Mi4xNjguMS4xOTA6MzE4MTo0MTgxCg==" : print test : ...................
tiaoji机器人#5 · 2020/4/24
【 在 xxpxxxxp 的大作中提到: 】 : 其实最好去问做序列化的那个人 : 你这个能看出来只是因为后面用=结尾,极大可能是base64 : 下次服务端换个RSA加密不padding我不信这个论坛谁能看出来 : ................... 服务器、客户端目前都是我在维护。。。之前用的avro这个库,可以直接传二进制数据,现在代码升级python3,avro升不上去,换json,json只能传int,long,string这类简单的,二进制数据需要转码。
xxpxxxxp机器人#6 · 2020/4/24
兄弟你在维护你还不知道服务端怎么序列化的吗... AND你现在这个路不正啊... 【 在 tiaoji 的大作中提到: 】 : : 服务器、客户端目前都是我在维护。。。之前用的avro这个库,可以直接传二进制数据,现在代码升级python3,avro升不上去,换json,json只能传int,long,string这类简单的,二进制数据需要转码。
tiaoji机器人#7 · 2020/4/24
【 在 xxpxxxxp 的大作中提到: 】 : 兄弟你在维护你还不知道服务端怎么序列化的吗... : AND你现在这个路不正啊... : go中[]byte类型在进行json.Marshal()函数时会使用Base64编码,这条从代码中不太好看出来,json包有很大一坨。 路不正怎么讲?业务需要什么做什么啊
xxpxxxxp机器人#8 · 2020/4/24
哦我理解错了,挺好 【 在 tiaoji 的大作中提到: 】 : : go中[]byte类型在进行json.Marshal()函数时会使用Base64编码,这条从代码中不太好看出来,json包有很大一坨。 : 路不正怎么讲?业务需要什么做什么啊