4D v16.3

Character code

ホーム

 
4D v16.3
Character code

Character code 


 

Character code ( character ) -> 戻り値 
引数   説明
character  文字 in 取得したい文字を得るためのコード
戻り値  倍長整数 in 文字コード

説明   

Character code コマンドは、character のUnicode UTF-16 コード(1から65535の間)を返します。

characterが1文字より多い場合、 Character code は最初の文字だけをコードに変換します。

Character code の逆の変換を実行する関数が Char コマンドです。UTF-16コードが示す文字を返します。

通常、大文字と小文字は同じものとして扱われますが、Character codeを使用すれば大文字と小文字を区別できます。以下の結果はTrueになります。

 

 ("A"="a")

一方、以下の結果はFalseになります。

 (Character code("A")=Character code("a"))

以下の例は、文字列"ABC"の最初の文字Aのコードを返します。
 

 GetCode:=Character code("ABC") `GetCodeには 65が返されます。これは“A”の文字コードです

以下の例は、キャリッジリターンとタブを検査します。

 For($vlChar;1;Length(vtText))
    Case of
       :(vtText[[$vlChar]]=Char(Carriage return))
  ` 何らかの処理
       :(vtText[[$vlChar]]=Char(Tab))
  ` 何らかの処理
       :(...)
  ` ...
    End case
 End for

サイズの大きなテキストに対して何度も実行する場合、以下のように記述した後コンパイルすると、この検査は高速に処理されます。

 For($vlChar;1;Length(vtText))
    $vlCode:=Character code(vtText[[$vlChar]])
    Case of
       :($vlCode=Carriage return)
  ` 何らかの処理
       :($vlCode=Tab)
  ` 何らかの処理
       :(...)
  ` ...
    End case
 End for

2 番目の例題が高速に処理される理由は2つあります。ループでは1文字だけが参照され、キャリッジリターンやタブを検査する際に、文字列の比較ではなく倍長整数による比較が行われています。CRやTAB等の一般的なコードを使用して作業する場合には、この手法を利用してください。



参照 

ASCIIコード
Char
文字参照記号

 
プロパティ 

プロダクト: 4D
テーマ: 文字列
番号: 91

This command can be run in preemptive processesUnicodeモードの設定がこのコマンドの動作に影響します

 
履歴 

変更: 4D v11 SQL

 
ARTICLE USAGE

ランゲージリファレンス ( 4D v16)
ランゲージリファレンス ( 4D v16.1)
ランゲージリファレンス ( 4D v16.2)
ランゲージリファレンス ( 4D v16.3)