Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

$ZWASCII

2 バイト文字列を数値に変換します。

Synopsis

$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” を返します。

関連項目

FeedbackOpens in a new tab