我有客户端,它使用Python和Ruby共享编码之间的字符串。特别是ruby客户端将使用base64_encode
对字符串进行编码,Python客户端必须解码基于ruby的编码字符串来解析数据。但是当我尝试使用python中的base64进行解码时,ruby base64编码的字符串会出现一些有线错误,
错误:
'utf-8' codec can't decode byte 0x9a in position 0: invalid start byte
但仍然看到下面的消息内容没有正确的格式,
b'\x04\x08{\x0b:\x0cmsgtimel+\x07\xd6wcZ:\x0erequestid"%a6cbfedf3f195714a484asdc35bdc210:\thash"%ed9efcfda14asd902416151006c87324:\rsenderid"\x10test-server1:\tbody"k\x04\x08{\x08:\x0estatusmsg"\x07OK:\x0fstatuscodei\x00:\tdata{\n:\nerror0:\x0bstdout"\x11test-server-hostname\n:\x0bstderr"\x00:\x0boutput0:\rexitcodei\x00:\x10senderagent"\nshell'
注意: ruby客户端将解码散列格式化字符串,某些客户端的ruby版本为1.8.7,而某些客户端为1.9.3。