問題タブ [hexdump]

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

javascript - JS 16 進文字列からファイルの実際のバイト値へ

私はデータと呼ばれるこの配列を持っており、各インデックスには1バイト分の16進文字列があり、次のようになります

16進エディタでファイルを検査すると、そのシーケンスが表示されるはずです。では、メモリ アドレス 0x00000000 で始まる値が 16 進数値のシーケンスになるようにファイルを書きたい場合、どうすればよいでしょうか?

現在、このコードでダウンロード可能なファイルを作成しています。

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

bash - 16 進形式で 1 ​​行あたり 1 バイトの出力ファイル (Linux bash で)

タイトルにある通り、例を以下に示します。

私の望ましい出力は次のようになります。

これはsed、awkなどで可能であることは知っていますが、大きなファイルの場合は非常に遅くなる可能性があります. 「hexdump」のフォーマット文字列または「od」のパラメーターの組み合わせを考えました。助けていただけませんか?

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

c - C メモリ割り当てエラー

こんにちは、ファイルを PFS イメージにパックする必要があるプロジェクトに取り組んでいます。ANSI C 言語を使用してアプリケーションを作成しています。各ファイルのHexdumpおよびその他の属性を取得し、変数内に保存しています。

パックされるファイルに関するすべての情報が収集されたら、各ファイルの情報を含む出力ファイルを作成する必要があります。

これを行っていると、メモリ割り当てに問題があります。エラーを出力するコードは次のとおりです。

上記のループが満たす構造を以下に示します

DumpHex 関数は次のとおりです。

指定されたファイルの 16 進出力を返す関数 DumpHex は、次のエラーを出力しています。

a.out: malloc.c:2369: sysmalloc: アサーション `(old_top == (((mbinptr) (((char *) &((av)->bins[((1) - 1) * 2]))) - __builtin_offsetof (struct malloc_chunk, fd)))) && old_size == 0) || ((unsigned long) (old_size)

= (unsigned long)((((__builtin_offsetof (struct malloc_chunk, fd_nextsize))+((2 * (sizeof(size_t))) - 1)) & ~((2 * (sizeof(size_t))) - 1)) ) && ((old_top)->size & 0x1) && ((unsigned long)old_end & pagemask) == 0)' 失敗しました。中止 (コアダンプ)

以下は、解決策を見つけるのに役立つアプリケーションに追加されたデバッグ情報です。

中止 (コアダンプ)

私はこの言語に不慣れで、メモリ割り当てとフリーメソッドの概念をよく理解していません。

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

c - Cプログラミングでの16進数ファイルの読み取り?

質問がありました:

私は 16 進エディタのように機能する ac プログラムを書いています。ファイルを取り込んで、その 16 進値を表示したいと考えています。たとえば、「He​​llo World!」という単語だけを含むテキスト ファイル「helloworld.txt」があるとします。その中で、そのファイルを取得し、その 16 進値を読み取り (ファイルは単純な .txt ファイルであり、バイナリ ファイルではありません)、後で使用できるように配列に格納するようにプログラムに指定します。

これが私がこれまでに持っているものです:

ご覧のとおり、これは実際には単純なファイルであり、内容を読み取って印刷します。ただし、問題は、「バイナリ読み取り」モードであっても、テキスト ファイルの 16 進数値が得られないことです。

標準テキスト ファイルの 16 進数値を読み取り、(a) それらを配列に入れる (これは for ループで十分に単純であると思います) か、(b) それらを画面?

他の人が同じことをしようとしているかどうかをグーグルで調べてみましたが、人々はすでにバイナリファイルから読み取っていたか、ファイルに16進数の値が既に含まれていました。通常の .txt ファイルにプレーン テキストがありますが、その下に 16 進数の値が必要です (つまり、ファイルの 16 進ダンプのようなものです)。私の質問と私がやろうとしていることは理にかなっていることを願っています。ご不明な点がございましたら、お気軽にお問い合わせください。ご協力いただきありがとうございます。本当に感謝しています!

0 投票する
0 に答える
83 参照

python - Python が 2 つの改行があると言うのに、なぜ 2 つの改行がないのですか?

Web API からフェッチしているテキストが少しありますが、Python を使用して二重の改行で段落を分割しようとすると混乱します。

以下は、興味深いテキストの最小のサンプルです。

2 つの改行のように見え、Python は同意します。

改行を別の区切り文字に置き換えようとしています。私は期待していeaaNます:

変。16 進数のテキストは次のとおりです。

私は16進数で何かを見るのは初めてですが0a、他の制御文字がなく、期待する場所に2つの文字が表示されます(CRLFの不安定さはありません)。

テキストまたは Python の解釈に欠けているものはありますか?

コントロールとして、Idle で同じ文字列を入力し、同じ関数を試しました。

Web API は Tomcat の JMX インターフェイスです。API のクエリに使用しているパスは次のとおりです (URI エスケープされていることはわかっていますが、問題ありません)。

ありがとうございました。

解決

それらは CRLF です:

インタプリタから Emacs にテキストを「コピー&ペースト」して、16 進数の解析を行って自分をだましました。ファイルに書き込んでからEmacsで開くと、私のやり方の誤りがわかりました。