Skip to main content

データ型:STRING

重要

Latin-1エンコーディングの場合、 STRING 変数は常に1文字あたり1バイトに1バイトを加えたものです。たとえば、標準の場合、これは81バイトになります STRING(80) 宣言。

UTF-8エンコーディングの場合、文字の長さは最大4バイトです。ただし、文字列の長さは常にSTRING用に予約されているバイト数を示します。したがって、文字数と文字列の長さの間に1:1の関係はなくなりました。

The STRING データ型はLatin-1またはUTF-8として解釈されます。 STRINGのUTF-8エンコーディング コンパイルオプションを有効にすると、すべての文字列リテラルがUTF-8形式で解釈されます。

宣言:

<variable name> : STRING( <size> ) := ' <text> ';

<variable name> : STRING[ <size> ] := ' <text> ';

The <size> メモリサイズと初期化はオプションです。

207.
sVar : STRING(46):= 'This is a string with memory for 46 characters.';
sVar_µ : STRING[10] := 'µ (Mü)';
sVar_ß : STRING[10] := 'Eszett';


データ型の変数 STRING 任意の文字列を含めることができます。の量 <size> 宣言中に予約されるメモリはバイト数を示し、括弧または括弧で示されます。サイズが定義されていない場合、デフォルトで80文字が予約されています。変数がデータ型に対して長すぎるリテラルで初期化されている場合、リテラルはそれに応じて右から切り捨てられます。

ただし、文字列の長さは基本的に制限されていません。ライブラリの機能を使用して文字列操作を行う場合 Standard 実行されると、255までの長さの文字列が正しく処理されます。ライブラリの機能を使用して文字列操作を行う場合 StringUtils 実行すると、より長い文字列(> 255文字)を使用することもできます。

データ型の変数の場合 STRING アプリケーションをリセットして再初期化すると、初期値の終了ヌル文字の後に存在する (古い) 文字列の内容は上書きされません。これは、初期化値を使用した初期化と、デフォルトの初期化値 0 を使用した初期化の両方に適用されます。

コンパイラバージョン3.5.18.0以降では、文字列のエンコード形式を選択できます。文字列をLatin-1形式とUTF-8形式のどちらで解釈するかを、プロジェクト全体で指定することができます。 UTF-8エンコーディングの場合、 STRINGのUTF8エンコーディング コンパイルオプション。

詳細については、以下を参照してください。 コンパイルオプションUTF-8エンコーディング

ヒント

エンコード形式を変更する前に、静的分析ルールSA0175を使用してコードを確認することをお勧めします。

詳細については、以下を参照してください。 静的分析ライト

ヒント

追加します {attribute 'monitoring_encoding' := 'UTF8'} 変数の宣言へのプラグマ。次に、UTF8エンコーディングで変数の内容を監視できます。

詳細については、以下を参照してください。 monitoring_encoding プラグマ