我通過網絡發送和接收不同的對象。在我的應用程序中,服務器可以接收一個泡菜或一個字符串。有什麼方法可以知道我得到的數據是鹹菜還是字符串?Python中的Pickle,如何檢查變量是字符串還是pickle?
我想:
class C:
pass
if __name__ == "__main__":
c = C()
data = pickle.dumps(c)
key = 'cryptokey'
print isinstance(data, basestring)
print isinstance(key, basestring)
print type(data)
print type(key)
但產量是沒有幫助的,它表明:
True
True
<type 'str'>
<type 'str'>
所以看起來它把鹹菜和字符串一樣。有任何想法嗎?
甲泡菜是二進制數據作爲一個串束。 –
將您的數據格式更改爲不太模糊。 – user2357112
Pickle從一個特定的協議和版本標籤開始。但更明智的是 - 註釋你的數據,以便接收者知道他們得到的是醃菜,字符串還是黃瓜。 – pvg