我尝试使用谷歌折线来解码数据。我的数据看起来像
“Y rwFpjpbMbDxB|BxAtBxAjFhDrFnDFHlBnAtBtAzBvAvFrDl@\\
MfFNHo @〜CTF | BXLn @ ADP @}的Cp @ mCfAuD \ {AlKmg @@] L {多@pAoG Nup@bCoL
@ GBF @的eC ^ GBB @ cBjD {P \ oBVyAFgA ?CAS @ _QK} @ Q_AYcAa @ CA] i的@米@瓦特@瓦特@ q因子@一个@ WuCyAcAk @} @ö@ AA {@} @} @ aBuBG [M @米@ oEuFcAwAmB} CeDaG_FcJqAeCm @ oAKe @于@ C_ @ ABA @的cB [eBEa @ fCeBlCYzGq @ ZZG'
如果我将此字符串放入代码
polyline.decode('Y rwFpjpbMbDxB|BxAtBxAjFhDrFnDFHlBnAtBtAzBvAvFrDl@\\
MfFNHo @〜CTF | BXLn @ ADP @}的Cp @ mCfAuD \ {AlKmg @@] L {多@pAoG Nup@bCoL
@ GBF @的eC ^ GBB @ cBjD {P \ oBVyAFgA?CAS @ _QK} @ Q_AYcAa @ CA] i的@米@瓦特@瓦特@ q因子@一个@ WuCyAcAk @} @ö@ AA {@} @} @ aBuBG [M @米@ oEuFcAwAmB} CeDaG_FcJqAeCm @ oAKe @ Yu @ c @ aBa @ cB [eBEa @ fCeBlCYzGq @ ZzG'),它给了我数据。
但是,如果我运行程序并将字符串保存到列表中,如代码[], 并运行代码
polyline.decode(code [0]),错误会说:
IndexError:字符串索引超出范围
我多次尝试过,无法解决问题。任何人都可以告诉我,我做错了什么?提前谢谢!
答案 0 :(得分:0)
可能与字符串中的转义字符有关。
将来自网络调用的编码字符串作为原始字符串复制/粘贴到 python 脚本中时,我遇到了类似的问题:
encoded_string = r"<pasted string>"
l = polyline.decode(encoded_string)
>>
>> .. IndexError: string index out of range
当使它成为一个普通的字符串时(去掉 'r' 限定符)它起作用了
encoded_string = "<pasted string>"
l = polyline.decode(encoded_string)