目次

Search

  1. はじめに
  2. トランスフォーメーション言語
  3. 定数
  4. 演算子
  5. 変数
  6. 日付
  7. 関数
  8. カスタム関数の作成
  9. カスタム関数APIリファレンス

トランスフォーメーション言語リファレンス

トランスフォーメーション言語リファレンス

BINARY_SECTION

BINARY_SECTION

バイナリ値の一部を返します。
BINARY_SECTION
関数を使用するには、環境変数
INFA_ENABLE_BINARY_FUNCTIONS
をTrueかYesに設定します。

構文

BINARY_SECTION(
binary, start [,length]
)
以下の表に、このコマンドの引数を示します。
引数
必須/
オプション
説明
binary
必須
バイナリ値、またはバイナリデータ型を返すトランスフォーメーション式を入力できます。
start
必須
整数、または整数を返すトランスフォーメーション式を入力できます。
バイナリ内でカウントを開始する位置を示します。開始位置が正の数である場合、
BINARY_SECTION
は入力バイナリの先頭からその数だけ数えた位置を開始位置とします。
開始位置が負の数である場合、
BINARY_SECTION
は入力バイナリの最後から数えた位置を開始位置とします。
開始位置が0の場合、
BINARY_SECTION
は入力バイナリの最初のバイトから検索を開始します。
length
オプション
0より大きい整数、または正の整数を返すトランスフォーメーション式を入力できます。
BINARY_SECTION
から返す必要があるバイト数。length引数を省略すると、
BINARY_SECTION
は開始位置から入力バイナリの最後まで、すべてのバイトを返します。負の整数または0を渡すと、関数はエラーを返します。

戻り値

バイナリ。
NULL値を入力した場合は、NULLです。

次の式は、バイナリ値の最初の3バイトを返します。
BINARY_SECTION( SYSID, 0, 3 )
SYSID (Shown in Hex)
RETURN VALUE (Shown in Hex)
0x00010203
0x000102
0x0405060708
0x040506
NULL
NULL
次の式は、バイナリ値の4番目から8番目までのバイトを返します。
BINARY_SECTION( SYSID, 4, 5 )
SYSID (Shown in Hex)
RETURN VALUE (Shown in Hex)
0x000102030405060708
0x0304050607
0x0405060708090A0B
0x0708090A0B
NULL
NULL
負の開始値を渡すこともできます。式は、
length
引数の結果を返す際に、元のバイナリを左から順に読みます。
BINARY_SECTION( SYSID, -6, 5 )
SYSID (Shown in Hex)
RETURN VALUE (Shown in Hex)
0x000102030405060708
0x0304050607
0x0405060708090A0B
0x060708090A
NULL
NULL
length
引数が入力値より長い場合、
BINARY_SECTION
は、開始位置から入力値の最後までのすべてのバイトを返します。次の例をご覧ください。
BINARY_SECTION( SYSID, 2, 8 )
SYSIDを0x000102030405のバイナリ値とします。
戻り値は、0x0102030405のバイナリ値になります。この結果を、以下の例と比較してください。
BINARY_SECTION ( SYSID, -2, 8)
SYSIDを0x000102030405のバイナリ値とします。
戻り値は、0x0405のバイナリ値になります。