$ZWASCII (ObjectScript)
2 バイト文字列を数値に変換します。
構文
$ZWASCII(string,position)
$ZWA(string,position)
引数
引数 | 説明 |
---|---|
string | 文字列。値、変数、式として指定することができます。長さは 2 バイト以上でなければなりません。 |
position | オプション — 正の整数として表される、文字列の開始位置。既定は 1 です。位置は、2 バイト文字列ではなくシングル・バイト単位でカウントされます。position を文字列の最後のバイトにすることはできません。また、position が文字列の最後を超えることもできません。position の数値は、小数桁数を切り捨て、先行するゼロやプラス記号などを削除することによって、整数として解析されます。 |
概要
$ZWASCII が返す値は、使用する引数によって異なります。
-
$ZWASCII(string) は、string の最初の文字位置から開始して、2 バイト文字列を数値に変換して返します。
-
$ZWASCII(string,position) は、position で指定したバイト位置から開始して、2 バイト文字列を数値に変換して返します。
正常に終了すると、$ZWASCII は常に正の整数を返します。$ZWASCII は、string の長さが無効の場合、または position の値が無効の場合に、-1 を返します。
例
以下は、文字列 "ab" を数値に変換する例です。
WRITE $ZWASCII("ab")
これは 25185 を返します。
次の例も 25185 を返します。
WRITE !,$ZWASCII("ab",1)
WRITE !,$ZWASCII("abxx",1)
WRITE !,$ZWASCII("xxabxx",3)
次の例では、string または position が無効です。それぞれの場合に、$ZWASCII 関数は -1 を返します。
WRITE !,$ZWASCII("a")
WRITE !,$ZWASCII("aba",3)
WRITE !,$ZWASCII("ababab",99)
WRITE !,$ZWASCII("ababab",0)
WRITE !,$ZWASCII("ababab",-1)
$ZWASCII と $ASCII
$ZWASCII は、シングル 8 ビット・バイトではなく 2 バイト (16 ビット) の単語を操作すること以外には、$ASCII と同じです。4 バイト (32 ビット) の単語には $ZLASCII を使用し、8 バイト (64 ビット) の単語には $ZQASCII を使用します。
$ZWASCII(string,position) は以下と同じ機能を持ちます。
$ASCII(string,position+1)*256+$ASCII(string,position)
$ZWASCII と $ZWCHAR
$ZWCHAR 関数は、論理的に $ZWASCII の逆になります。例えば以下のようになります。
WRITE $ZWASCII("ab")
これは 25185 を返します。
WRITE $ZWCHAR(25185)
これは “ab” を返します。