ENTMF 

ULENGTH

ULENGTH 関数は、UTF-8 または UTF-16 のデータを含む文字列内の UTF-8 文字または UTF-16 文字の数と等しい整数値を返す。

この関数の型は整数である。

一般形式

ULENGTH 関数の一般形式の構文

引数

argument-1
英字、英数字、または UTF-8 の UTF-8 にエンコードされた有効な文字で構成される文字列か、各国文字の UTF-16 にエンコードされた有効な文字で構成される文字列とする。

返却値

返却値はargument-1の UTF-8 文字または UTF-16 文字の数である。

argument-1 が UTF-16 データを含む各国文字データ項目で、argument-1 にサロゲート ペアが含まれている場合、下位と上位のペアごとに 1 つの UTF-16 文字として数えられる。

UTF-8 の引数に合成文字 (ä、ê、ü など) が含まれている場合、長さを求める際には結合文字が別々に数えられる。次の例のとおり、合成文字によって返却値が変わることがある。

文字 Unicode エンコーディング UTF-8 エンコーディング 返却値
ä

U+00E4

(合成済み形式、分音記号付きのラテン小文字 a)

x'C3A4’ 1

U+0061 + U+0308

(正準分解、ラテン小文字 a + 結合分音記号)

x'61CC88' 2

説明

この関数は表意文字異体字セレクター (IVS) をサポートし、フォント ソフトウェアでデフォルトとは異なる字形を選択できる (異体字が存在しないかサポートされていない場合はフォント ソフトウェアで無視される)。IVS は U-E0100 から U-E01EF の範囲の Unicode 文字で構成される。UTF-16 文字列は U-DB40 + DD00 から U-DB40 + DDEF の範囲のサロゲート ペアを使用し、UTF-8 文字列は 0xF3A08480 から 0xF3A087AF の範囲を使用する。

Unicode 文字の後に IVS が続く場合、この関数の処理において 1 文字として扱われる。