USURROGATE は、ストリング内の最初の UTF サロゲート・ペアの索引、またはストリングに UTF サロゲート・ペアがない場合はゼロの FIXED BIN(31) 値を返します。
|
x が CHARACTER タイプである場合、ストリングには有効な UTF-8 データが入っている必要があります。 ただし、データの妥当性はチェックされません。 データが無効な場合は、ERROR 条件は発生せず、プログラムがエラー状態になり、この関数が戻す結果は予測不能になります。
x が WIDECHAR タイプである場合、ストリングには有効な UTF-16 データが入っている必要があります。 ただし、データの妥当性はチェックされません。 データが無効な場合は、ERROR 条件は発生せず、プログラムがエラー状態になり、この関数が戻す結果は予測不能になります。
例として、音楽のト音記号は、UTF-16 サロゲート・ペア 'D834_DD1E'wx で表され、したがって、以下のコードでは値 3 がリストされます。
dcl w wchar(20) varying;
dcl jx fixed bin;
w = '0020_0020_D834_DD1E'wx
jx = usurrogate( w );
put skip list( jx );