2011-07-25 18 views
0

I持つPythonドキュメントでstruct約2つの質問:Pythonの構造体、バイト順と整列間のネットワークアプリケーションとの違いのためにunsigned int型とunsigned long型

Byte Order, Size, and Alignment:ネットワーク通信のために、私は!代わりの=使うべきなのでしょうか?
例:struct.pack("!BBH", 1, 12, 512)またはstruct.pack("=BBH", 1, 12, 512)

Format characters:両方とも4バイトなので、unsigned int(I)とunsigned long(L)の違いは何ですか?

は、お時間をいただき、ありがとうございます、そしてあなたはあなたのコードは、それが実行されている場所と同じ出力を生成したい場合は、その場合

答えて

3

:-)愚かな質問をお許しなぜだろうあなた今まで使用=?もちろん、そうです、皆に同じことを意味するコードを使うべきです。標準は!ですので、!を使用してください。

フォーマットコードテーブル上記ヘッダを読む

「標準サイズ」欄は標準サイズを使用して、バイト単位でパックされた値の大きさを指します。つまり、フォーマット文字列が '<'、 '>'、 '!'のいずれかで始まる場合、または '='。ネイティブサイズを使用する場合、パックされた値のサイズはプラットフォームによって異なります。

だから、あなたは@フォーマットコードを使用するか、理論的にはプラットフォームに応じて、異なる可能性があるフォーマットコード、Iの大きさとLのサイズを省略した場合。

関連する問題