我对Python还比较陌生,所以我可能仍然会犯很多新手错误。在
我在比较Python中两个看似匹配的字符串,但总是返回false。当我检查对象的表示时,我发现其中一个字符串是用ASCII编码的。在
第一个字符串的表示形式返回:
'\x00"\x00i\x00t\x00i\x00n\x00e\x00r\x00a\x00r\x00y\x00_\x00o\x00p\x00t\x00i\x00o\x00n\x00s\x00_\x00s\x00e\x00a\x00r\x00c\x00h\x00_\x00b\x00u\x00t\x00t\x00o\x00n\x00"\x00 \x00=\x00 \x00"\x00L\x00a\x00u\x00n\x00c\x00h\x00 \x00t\x00h\x00e\x00 \x00s\x00e\x00a\x00r\x00c\x00h\x00"\x00;\x00'
当第二个字符串的表示形式返回:
^{pr2}$我试图找出如何解码第一个字符串以获得第二个字符串,这样我对这两个字符串的比较将匹配。 当我用
^{3}$我得到一个unicode对象。我不知道该怎么做才能得到解码的字符串。在
你的第一个字符串似乎有些问题。我不太清楚为什么会有这么多的空字符(
\x00
),但不管怎样,我们都可以编写一个函数来清理这些字符:一种不那么健壮的方法是简单地拼接字符串以删除其他字符(恰好是
^{pr2}$\x00
):没有。在
当然,你的数据有一个额外的NUL,它会破坏它。一旦你清理干净,你就可以毫无问题地破译它了。在
相关问题 更多 >
编程相关推荐