私はネットワークを通してさまざまなオブジェクトを送受信します。私のアプリケーションでは、サーバーはpickleまたは文字列を受け取ることができます。私が得たデータがピクルスかストリングかを知る方法はありますか?Pythonのピクル、変数が文字列かピクルスかどうかをチェックする方法は?
私が試した:
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