これは、JSL でバイナリ ファイルを読み取ると次のようになります。

b = Load Text File( "……\abc.spr", blob() );</CODE></PRE><P>ありがとう専門家!</P><P> </P></LINGO-BODY><LINGO-LABS id="lingo-labs-600023" slang="en-US" mode="NONE"><LINGO-LABEL>スクリプティング</LINGO-LABEL></LINGO-LABS><LINGO-SUB id="lingo-sub-600036" slang="en-US" mode="NONE">Re: JSL を使用して連続したバイナリ ファイルをバイト単位のセグメントに分割する方法は?</LINGO-SUB><LINGO-BODY id="lingo-body-600036" slang="en-US" mode="NONE"><P>私は使用すると推測します<A href="https://www.jmp.com/support/help/en/17.0/#page/jmp/utility-functions.shtml?os=win&source=application#ww2779499" target="_blank" rel="noopener noreferrer">ブロブピーク</A>そしてループが機能するはずです。 追加のアイデアもあるかもしれません<A href="https://community.jmp.com/t5/Discovery-Summit-Europe-2022/Importing-Binary-Data-with-JSL-2022-EU-45MP-946/m-p/446124#U446124" class="lia-mention-container-editor-message lia-img-icon-tkb-thread lia-fa-icon lia-fa-tkb lia-fa-thread lia-fa" target="_blank">JSL を使用したバイナリ データのインポート (2022-EU-45MP-946)</A></P></LINGO-BODY><LINGO-SUB id="lingo-sub-600041" slang="en-US" mode="NONE">Re: JSL を使用して連続したバイナリ ファイルをバイト単位のセグメントに分割する方法は?</LINGO-SUB><LINGO-BODY id="lingo-body-600041" slang="en-US" mode="NONE">ご協力ありがとうございました! 「Blob Peek」は、前回の質問で学んだ方法です。 より効率的な方法はありますか? 例えばレギュラー?</LINGO-BODY><LINGO-SUB id="lingo-sub-600045" slang="en-US" mode="NONE">Re: JSL を使用して連続したバイナリ ファイルをバイト単位のセグメントに分割する方法は?</LINGO-SUB><LINGO-BODY id="lingo-body-600045" slang="en-US" mode="NONE"><UL><LI><P class="">たとえば、EmEditor での通常の置換は簡単に実装できます。<SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="2023-02-12_21-59-57.png" style="width: 645px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2023-02-12_21-59-57.png" style="width: 645px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2023-02-12_21-59-57.png" style="width: 645px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2023-02-12_21-59-57.png" style="width: 645px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2023-02-12_21-59-57.png" style="width: 645px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2023-02-12_21-59-57.png" style="width: 645px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2023-02-12_21-59-57.png" style="width: 645px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2023-02-12_21-59-57.png" style="width: 645px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2023-02-12_21-59-57.png" style="width: 645px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2023-02-12_21-59-57.png" style="width: 645px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2023-02-12_21-59-57.png" style="width: 645px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2023-02-12_21-59-57.png" style="width: 645px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2023-02-12_21-59-57.png" style="width: 645px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2023-02-12_21-59-57.png" style="width: 645px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2023-02-12_21-59-57.png" style="width: 645px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2023-02-12_21-59-57.png" style="width: 645px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2023-02-12_21-59-57.png" style="width: 645px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2023-02-12_21-59-57.png" style="width: 645px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2023-02-12_21-59-57.png" style="width: 645px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2023-02-12_21-59-57.png" style="width: 645px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2023-02-12_21-59-57.png" style="width: 645px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2023-02-12_21-59-57.png" style="width: 645px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2023-02-12_21-59-57.png" style="width: 645px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2023-02-12_21-59-57.png" style="width: 645px;"><span class="lia-inline-image-display-wrapper" image-alt="2023-02-12_21-59-57.png" style="width: 645px;"><img src="https://us.v-cdn.net/6038925/uploads/images/50045i7EC17F1C28BD7EDB/2023-02-12_21-59-57.png" role="button" title="2023-02-12_21-59-57.png" alt="2023-02-12_21-59-57.png" /></span></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></P></LI></UL></LINGO-BODY><LINGO-SUB id="lingo-sub-600053" slang="en-US" mode="NONE">Re: JSL を使用して連続したバイナリ ファイルをバイト単位のセグメントに分割する方法は?</LINGO-SUB><LINGO-BODY id="lingo-body-600053" slang="en-US" mode="NONE"><P>選択肢は 2 つだけです。 BlobPeek() および LoadTextfile(... , BLOB( ReadOffsetFromBegin(), ReadLength() ) ) 。</P>
<P>LoadTextfile を複数回呼び出すよりも、BlobPeek を複数回使用する方が高速です。</P>
<P> </P>
<P>どのような効率に関する懸念がありますか? ブロブの大きさは? どのくらい遅いですか?</P></LINGO-BODY><LINGO-SUB id="lingo-sub-600133" slang="en-US" mode="NONE">Re: JSL を使用して連続したバイナリ ファイルをバイト単位のセグメントに分割する方法は?</LINGO-SUB><LINGO-BODY id="lingo-body-600133" slang="en-US" mode="NONE"><P>ありがとう!</P><P>まあ、それは循環的な方法でしかできないようです。<BR /> JMP テーブルに書き込む必要があるファイルは多数あります。<BR />速度を上げたい。<BR />私はJSLを書きました</P><PRE><CODE class=" language-jsl">b = Load Text File( ……|| "abs.spr", blob() );
s = Length( b ) / 12;
ar = [];
ar = J( s, 5, . );
For( k = 1, k <= s, k++,
a = Blob Peek( b, (k - 1) * 12, 12 );
ar[k, 3] = Blob To Matrix( a, "int", 4, "little", 8 )[1, 1];
ar[k, 4] = Blob To Matrix( a, "int", 4, "little", 8 )[1, 2];
ar[k, 5] = Blob To Matrix( a, "float", 4, "little", 8 )[1, 3];
);
セグメンテーションを実装できれば
このコードは速度を上げますか?
読み取り後にバイナリを分割できる場合、次のJSLを使用できますか?
ar[0, 3] = Blob To Matrix( b, "int", 4, "little", 8 )[0, 1];
ar[0, 4] = Blob To Matrix( b, "int", 4, "little", 8 )[0, 2];
ar[0, 5] = Blob To Matrix( b, "float", 4, "little", 8 )[0, 3];