問題タブ [struct.pack]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
8443 参照

c++ - c++で同等のpythonstruct.pack

Pythonに存在するのと同じようstruct.packに、C++にある数値からの固定長の文字列が必要です。私は考えましたがitoa (i,buffer,2)、問題はその長さがプラットフォームに依存することです。プラットフォームから独立させる方法はありますか?

0 投票する
1 に答える
1707 参照

python - python struct pack double

Pythonでネットワーク送信するために-123.456をCdoubleに変換したいと思います。だから私はこれを試しました:

結果としてこれが得られます:

明らかにそこにはいくつかのヘクスがありますが、そこにw、/、および^が散りばめられているのは何ですか?

0 投票する
1 に答える
7801 参照

python - Python で Minecraft サーバーにログイン パケットを送信できない

私はPythonで次のスクリプトを持っています。まず「ハンドシェイク」を送信し、次にログイン要求を送信して、MineCraft サーバーに接続しようとします。プロトコル仕様はここにあります: http://wiki.vg/Protocol

とにかく、python スクリプトは正常に動作し、エラーはありません。ただし、送信時にサーバーコンソールに何も表示されないため、2番目のパケットを間違ってエンコードしました。プレーヤーが接続されていません。「クライアント」が時間内にログインしないため、最終的にタイムアウトして接続を閉じます。

基本的に、とにかく struct.pack() の経験がある人はここで私を助けることができるはずです. すべてを正しくエンコードしたかどうかわからない行にコメントしました。データのパッキングに関する詳細情報は、上記のリンクに示されています。

どんな助けでも歓迎です。私はデータのエンコード/パッキングについてはまったく無知です。:(

0 投票する
1 に答える
985 参照

python - Python -0.000000e+00構造体パックが間違った値を返す

こんにちは私はLinuxで-0.000000e+00の解析に問題があります(Windowsでは動作しています)。

Linuxのstruct.packで、-0.000000e+00を0.000000e+00に変更します。パック前の値を出力した場合、struct.packの結果は0.000000e+00のようになります。

この問題を解決するための解決策はありますか?

私は負の数を追加する必要があると思います魔女は0に最も近いです。それを行う方法は?

結果の編集 struct.pack( "d", -0.000000e+00 )'\x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x80'

struct.pack( "!d", -0.000000e+00 )結果'\x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00'

struct.pack( "<d", -0.000000e+00 )結果'\x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00'

struct.pack( ">d", -0.000000e+00 )結果'\x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00\x00'「<d」と「>d」を使用したい。

EDITエラーではありません。

0 投票する
2 に答える
8780 参照

python - python:「L」形式のコードの範囲外の整数

Pythonでは、コードは次のとおりです

ラインで

このエラーが発生しました:

H(unsigned short)でパックしようとしているので、これは奇妙です。

手がかりはありますか?

私のPythonバージョン2.7.3。CPUアーキは32ビットです。

0 投票する
2 に答える
51 参照

python - 2 進数の先頭を 0 でパックアウトする

インターフェイスが送信したデータを読み取る方法に問題があります。

私がやりたいことは、現在の時刻をインターフェイスに送信することです。ただし、インターフェイスは2の賛辞を使用するため、これを行うと:

インターフェイスは、この 1010010111111000011111000010111 のような 2 進数を受け取ります。2 の補数を使用しているため、時刻が完全に間違っています。負の数を取得し、1942 年と考えているようです。

私の質問は、時間を 2 進数に変換し、2 進数の先頭を 0 でパックして 8 バイトの長さにする方法です。それで、パックしてインターフェイスに送信できます。