データ型: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>
メモリサイズと初期化はオプションです。
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エンコーディング
ヒント
追加します {attribute 'monitoring_encoding' := 'UTF8'}
変数の宣言へのプラグマ。次に、UTF8エンコーディングで変数の内容を監視できます。
詳細については、以下を参照してください。 monitoring_encoding プラグマ