クラス Util

ユーティリティクラス


メソッドの概要
static  table array(int count)
          指定された個数の false 要素を含む配列を取得する
static  number band(...)
          ビット演算 AND
static  number bor(...)
          ビット演算 OR
static  string dump(? value,table option)
          変数の中身をダンプする
static  table explodeUTF8String(string utf8)
          UTF8 の文字列を、1 文字ずつに分解した配列に変換します
static  table<int> getBytesUInt16BE(int value)
          16bit の unsigned int 値を Big Endian のバイト列に変換する
static  table<int> getBytesUInt32BE(void data,int value)
          32bit の unsigned int 値を Big Endian のバイト列に変換する
static  int lshift(int n,int shift)
          左シフト演算(64bitまでを考慮)
static  int makeUInt16BE(table<int> bytes)
          バイト配列を、16 ビットの unsigned int 値を Big Endian とみなして数値に変換する
static  int makeUInt32BE(table<int> bytes)
          バイト配列を、32 ビットの unsigned int 値を Big Endian とみなして数値に変換する
static  int rshift(int n,int shift)
          右シフト演算
static  int searchArray(table array,? value)
          配列の中から、指定された要素を検索し、そのインデックスを取得する
static  void sort(table array,int startIndex,int length)
          配列を、範囲を指定して並び替える
static  table split(string value,string splitter)
          value で指定された文字列を、splitter で区切る
static  table<int> stringToArray(string s)
          文字列のバイトを取り出して配列にしたものを返す
 
メソッドの詳細

array

public static table array(int count)

指定された個数の false 要素を含む配列を取得する

パラメータ:
count - 要素の個数
戻り値:
作成した配列

band

public static number band(...)

ビット演算 AND

パラメータ:
... - 可変長引数。AND 演算を行う数値を指定する
戻り値:
AND 演算の結果

bor

public static number bor(...)

ビット演算 OR

パラメータ:
... - 可変長引数。OR 演算を行う数値を指定する
戻り値:
OR 演算の結果

dump

public static string dump(? value,
                          table option)

変数の中身をダンプする

パラメータ:
value - ダンプする変数
option - ダンプ時の設定値
  • hex: 数値を 16 進数表記にする場合 true を設定する
  • func: 関数をダンプする場合 true を設定する
戻り値:
変数のダンプ

explodeUTF8String

public static table explodeUTF8String(string utf8)

UTF8 の文字列を、1 文字ずつに分解した配列に変換します

パラメータ:
utf8 - UTF8 の文字列
戻り値:
1 要素に 1 文字分の文字コードが入った配列 例えば、utf8 = "0あ" の場合、戻り値は { { 0x30 }, { 0xE3, 0x81, 0x82 } } となる

getBytesUInt16BE

public static table<int> getBytesUInt16BE(int value)

16bit の unsigned int 値を Big Endian のバイト列に変換する

パラメータ:
value - 変換元の数値
戻り値:
変換後のバイト列

getBytesUInt32BE

public static table<int> getBytesUInt32BE(void data,
                                          int value)

32bit の unsigned int 値を Big Endian のバイト列に変換する

パラメータ:
data -
value - 変換元の数値
戻り値:
変換後のバイト列

lshift

public static int lshift(int n,
                         int shift)

左シフト演算(64bitまでを考慮)

パラメータ:
n - 演算対象の数値
shift - シフトするビット数
戻り値:
演算結果

makeUInt16BE

public static int makeUInt16BE(table<int> bytes)

バイト配列を、16 ビットの unsigned int 値を Big Endian とみなして数値に変換する

パラメータ:
bytes - 変換元のバイト列
戻り値:
変換後の数値

makeUInt32BE

public static int makeUInt32BE(table<int> bytes)

バイト配列を、32 ビットの unsigned int 値を Big Endian とみなして数値に変換する

パラメータ:
bytes - 変換元のバイト列
戻り値:
変換後の数値

rshift

public static int rshift(int n,
                         int shift)

右シフト演算

パラメータ:
n - 演算対象の数値
shift - シフトするビット数
戻り値:
演算結果

searchArray

public static int searchArray(table array,
                              ? value)

配列の中から、指定された要素を検索し、そのインデックスを取得する

パラメータ:
array - 検索対象の配列
value - 検索するオブジェクト
戻り値:
要素が見つかったインデックス。見つからなかった場合負の値を返す

sort

public static void sort(table array,
                        int startIndex,
                        int length)

配列を、範囲を指定して並び替える

パラメータ:
array - 並び替えるテーブル
startIndex - 並び替える範囲の開始位置(先頭が0)
length - 並び替える範囲の長さ

split

public static table split(string value,
                          string splitter)

value で指定された文字列を、splitter で区切る

パラメータ:
value - 区切られる文字列
splitter - 区切り文字
戻り値:
区切られた文字列のテーブル

stringToArray

public static table<int> stringToArray(string s)

文字列のバイトを取り出して配列にしたものを返す

パラメータ:
s - 変換元の文字列
戻り値:
変換後のバイト列