fromhex()

16進数文字列をバイナリに変換して返します。

構文

fromhex(HEX_STR)

パラメーター

HEX_STR
16進数文字列または式。大文字小文字の両方を許容します(0-9a-fA-F)。

説明

fromhex() 関数は16進数文字列をバイナリ(byte[])に変換して返します。次の場合に null を返します。

  • 引数が null の場合
  • 引数が文字列でない場合
  • 文字列の長さが奇数の場合(バイトに分割できない)
  • 16進数以外の文字が含まれている場合

数値定数や負の数を直接引数として渡すと、クエリのパース時にエラーが発生します。

エラーコード

エラーコード説明
90904数値定数または負の数定数を引数として渡した場合

使用例

  1. 16進数文字列をバイナリに変換した後、文字列にデコード

    json "{'val': '68656c6c6f'}" | eval result = decode(fromhex(val))
    | # result: "hello"
    
  2. 変換後に再び16進数で確認

    json "{'val': '68656c6c6f'}" | eval result = tohex(fromhex(val))
    | # result: "68656c6c6f"
    
  3. 奇数長の文字列を入力

    json "{'val': '616263646'}" | eval result = fromhex(val)
    | # result: null
    
  4. NULL 入力

    json "{'val': null}" | eval result = fromhex(val)
    | # result: null
    

互換性

fromhex() 関数は Sonar 4.0以前のバージョンから提供されています。