$WISWIDE (ObjectScript)
文字列にサロゲート・ペアが含まれているかどうかを示すフラグを返します。
構文
$WISWIDE(string)
引数
引数 | 説明 |
---|---|
string | 文字列または文字列に評価する式 |
説明
$WISWIDE は、string にサロゲート・ペアが含まれているかどうかを示すブーリアン値を返します。0=string は、サロゲート・ペアを含んでいません。1=string は、1 つ以上のサロゲート・ペアを含んでいます。
サロゲート・ペアは、単一の Unicode 文字を一緒にエンコードする 16 ビットの InterSystems IRIS 文字要素のペアです。サロゲート・ペアは、中国語、日本語の漢字、韓国語のハンジャ文字で使用されている特定の表意文字を表すために使用されます (頻繁に使用される中国語、漢字、およびハンジャ文字は、標準 16 ビットの Unicode エンコードで表されます)。サロゲート・ペアにより、InterSystems IRIS は日本語 JIS X0213:2004 (JIS2004) エンコーディング標準および中国語 GB18030 エンコーディング標準をサポートします。
サロゲート・ペアは、16 進数の D800 ~ DBFF の範囲の高位 16 ビット文字要素と、16 進数の DC00 ~ DFFF の範囲の下位 16 ビット文字要素で構成されます。
例
以下の例は、サロゲート・ペアのブーリアン値を返す $WISWIDE を示します。
SET spair=$CHAR($ZHEX("D806"),$ZHEX("DC06")) /* surrogate pair */
SET xpair=$CHAR($ZHEX("DC06"),$ZHEX("D806")) /* NOT a surrogate pair */
SET str="AB"_spair_"CD"
WRITE !,$WISWIDE(str)," = surrogate pair(s) in string?"
SET xstr="AB"_xpair_"CD"
WRITE !,$WISWIDE(xstr)," = surrogate pair(s) in string?"