問題タブ [unpack]

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 投票する
2 に答える
623 参照

c++ - 日付形式をデコードしますか?

いくつかの短い整数とそれらが表す日付を考えると、それらがこの形式でどのように格納されているかを判断し、他の日付をデコードする体系的な方法はありますか? 保存されたデータは、別のソフトウェアからのものです。

5 月 1 日の最初のバイトから 2 月 11 日の最初のバイトを差し引いたものが正しい日数 (2011 年は 79) に等しいので、最初は日数がいずれかのバイトで表されていると考えていました。しかし、8 ビットでは 256 日しか格納できないだけでなく、2000 年より前の日付は年のみを両方のバイトで格納できるため、それほど単純ではありません。

ここに私が取り組んでいるものがありますが、列見出しを一粒の塩で考えてください。

また、30-11-08 の 2 番目のバイトは 05-01-09 と同じであり、逆に 2010 年の 2 つの日付の 2 番目のバイトの値は異なります。

編集: 回答といくつかの調査のおかげで、エポックは 1858 年 11 月 17 日であることがわかりました。これは修正ユリウス日と呼ばれる標準形式です。

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

javascript - JavaScriptでbase32_decodeを書く方法は?

PHPの解凍に相当するものを作成しようとしています。PHPJSにプロジェクトがないことに気づきました。base32_encodeとbase32_decodeの実装に必要です(Crockfordのアルファベット「0123456789ABCDEFGHJKMNPQRSTVWXYZ」を使用)。

私はそれをどこにも見つけることができず、それに対応するPHPJSのパック関数から判断すると、私のバージョンがすぐに完成してバグがなくなるとは思えません。

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

php - Unpackの「バイナリ文字列」とは

私はunpack機能しようとしています。PHPのドキュメントによると

指定された形式に従って、バイナリ文字列から配列にアンパックします。

渡される文字列はバイナリ文字列である必要がありますか? バイナリ文字列とは正確には何ですか?

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

perl - What is the fastest check digit routine for a string in Perl?

Given a string of digits, I have to sum all digits as fast as possible using Perl.

My first implementation unpacks digits with unpack(), then sums the list of digits with List::Utils' sum(). It's pretty fast but is there a faster pack/unpack recipe for this task?

I tried with a pack/unpack combination, and benchmarked the two implementations. Used CPU time is almost the same; maybe is there some fast trick I'm not aware of?

Here is how I did my benchmark:

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

php - PHP経由で自己解凍型exeアーカイブを抽出する

私は問題があります。私は、実際にはzipアーカイブであると彼らが主張する.exeファイルを私に提供しているサービスを持っています。自己解凍アーカイブ。問題は、アプリ(php)でそれをサーバーにダウンロードしていて、ローカルコンピューターにダウンロードせずにそこに抽出する必要があることです。.exe ファイルをローカル コンピューターにダウンロードしようとしました。これは Windows で /temp ディレクトリに自己解凍し、FLASH プレーヤーを自己起動します。

$zip = zip_open($myfile); print_r($zip) で与えます: 1 zip->open も結果を返しません。.exe を .zip に変更すると、winzip やその他の Windows 上のアンパッカーで開くことができなくなります - .exe は winzip でも開くことができません。

今、私はそれに対処する方法がわかりません。アドバイスできる方いましたらお願いします。

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

intrinsics - AVX _m256_unpack*_ps unpack 組み込みからの予期しない結果

_m256_unpacklo_psAVX 組み込みのアンパック命令を使用して、 _m256_unpackhi_ps16 個の float 値をインターリーブしようとしています。AVX でアンパックがどのように機能するかを理解していないか、何かが正常に機能していないため、得られた結果は奇妙です。

私が見ているのは、たとえば、2 つのベクトル v1 と v2 から低次浮動小数点数を 3 番目の v3 にアンパックしようとすると、次のように表示されることです。

v1 が [a b c d e f g h] v1 の場合[i j k l m n o p]

その後v3 = _m256_unpacklo_ps(v1, v2)[a i b j e m f n]

v3が与えると思ったとき[a i b j c k d l]

私の期待は間違っていますか、それともこれを間違って使用していますか? それとも他の何かが故障していますか?

テストコードは次のとおりです。

コンパイルに gcc 4.5.2 を使用しています。

助けてくれてありがとう!- ジャスティン

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

ruby - バイト値の配列からネイティブエンディアンへのRubyネットワークバイトオーダー

http://wiki.theory.org/BitTorrentSpecification#Tracker_Response、バイナリ ピア セクションのようarr = [24, 21, 25, 40, 236, 89]に、IP アドレス (最初の 4 バイト) とポート番号 (最後の 2 バイト) を表すためのこのような配列があるとします。 .

私の質問は次のとおりです。これから IP アドレスとポート番号を取得するにはどうすればよいですか?

arr[0..3].reverse.join '.'IP とarr[5] << 8 | arr[4]ポートが正しくないようです。

string_from_tracker.unpack 'C*'ここでは、を取得するarrので、ビットはすでにネイティブのエンディアンにあると想定しています...

これがどのように機能するのか、私にはよくわかりません。

ありがとう。

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

ruby - ruby base64 エンコード / デコード / アンパック('m') トラブル

奇妙なルビーエンコーディングの遭遇:

これが対称ではない理由がわかりました!? また、'm0' (decode64_strict) がまったく機能しないのはなぜですか? 入力文字列は、base64 アルファベットの 4 文字の倍数にパディングされます。ここでは、14 x 6 ビット = 84 ビットで、10 1/2 8 ビット バイト、つまり 11 バイトです。しかし、デコードされた文字列は最後のニブルを落としているように見えますか?

明らかな何かが欠けていますか、それともバグですか? 回避策 参照。http://www.ietf.org/rfc/rfc4648.txt

0 投票する
3 に答える
17108 参照

javascript - JavaScript での Python のようなアンパック

次の文字列があります

それから私はJSON.parseそれ

my_argsのすべての要素が JavaScript 関数の引数になるように、Python のような方法でアンパックするにはどうすればよいですか?

それを行うコア JavaScript イディオムはありますか?

0 投票する
3 に答える
17135 参照

python - python struct は辞書にアンパックします

struct.unpack は、データをタプルにアンパックします。代わりに辞書にデータを格納する同等のものはありますか?

私の特定の問題では、固定幅のバイナリ形式を扱っています。一挙に、値を解凍してdictに保存できるようにしたい(現在、手動でリストを調べてdict値を割り当てる)