char_to_wcs( s1, n1 ) 関数(Ver9.35対応版)
目次−
関数(文字列操作)−
char_to_wcs( s1, n1 ) 関数
char_to_wcs関数は、
文字位置から
Unicode(UCS-2)単位の文字位置の変換をして、変換された位置を取得します。(V8.96以降)
- パラメータ1(文字列型 または 数値型)
-
文字列を指定すると、文字列を対象に変換します。
数値を指定すると、1から数えた行番号(lineno相当)の本文のテキストを対象に変換します。
- パラメータ2(数値型)
-
0から数えた文字位置(column相当)を指定します。
- 返り値(数値型)
-
Unicode(UCS-2)単位の文字位置(column_wcs相当)を返します。
strlen等の文字の数え方は、全角を2つ、半角を1つとして数えます。
wcslen等のUnicode(UCS-2)の文字の数え方は、全角も半角も1つとして数えます。
この数え方の違いを変換します。
文字の先頭を 0 として、いくつ目かで計算します。
以下の例では、3を返します。
例 |
#wcs = char_to_wcs("あいうabcde", 6 ); //"あいう"はcolumn相当で6文字
message str(#wcs); //Unicode(UCS-2)単位で3文字
|
例 |
newfile;
insert "あいうabcde\n"; //1行目となるテキスト
#wcs = char_to_wcs(1,6); //1行目のcolumn相当で6文字目
message str(#wcs); //Unicode(UCS-2)単位で3文字
|
関数名は互換のためにcharindex_to_wideindexとしても使えます。
参照:
column
wcs_to_char
wcslen
文字の単位
文字の単位ごとに各種のバリエーションがあります。