Skip to main content

Type de données : STRING

Important

Dans le cas du codage Latin-1, la mémoire requise pour un STRING variable est toujours 1 octet par caractère plus un octet supplémentaire. Par exemple, cela donne 81 octets dans le cas d'un standard STRING(80) déclaration.

Dans le cas du codage UTF-8, un caractère peut avoir jusqu'à 4 octets de long. Cependant, la longueur de la chaîne indique toujours le nombre d'octets qui sont réservés pour la STRING. Par conséquent, il n'y a plus de relation 1:1 entre le nombre de caractères et la longueur de la chaîne.

Le STRING le type de données est interprété comme Latin-1 ou UTF-8 : si le Encodage UTF-8 pour STRING compile est activée, tous les littéraux de chaîne sont interprétés au format UTF-8.

Déclaration:

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

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

Le <size> la taille de la mémoire et l'initialisation sont facultatives.

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


Une variable de type de données STRING peut contenir n'importe quelle chaîne. La quantité de <size> la mémoire réservée lors d'une déclaration fait référence au nombre d'octets et est indiquée entre parenthèses ou crochets. Si une taille n'est pas définie, alors 80 caractères sont réservés par défaut. Si une variable est initialisée avec un littéral trop long pour le type de données, le littéral est tronqué en conséquence à partir de la droite.

Cependant, la longueur des cordes n'est pas fondamentalement limitée. Si vous faites des manipulations de chaînes avec les fonctions de la bibliothèque Standard exécutées, les chaînes jusqu'à une longueur de 255 sont traitées correctement. Si vous faites des manipulations de chaînes avec les fonctions de la bibliothèque StringUtils run, vous pouvez également utiliser des chaînes plus longues (>255 caractères).

Lorsqu'une variable du type de données STRING est réinitialisé en réinitialisant l'application, le contenu de l'(ancienne) chaîne, qui existe après le caractère nul de fin de la valeur initiale, n'est pas écrasé. Ceci s'applique à la fois à l'initialisation avec la valeur d'initialisation et à l'initialisation avec la valeur d'initialisation par défaut 0.

Dans la version 3.5.18.0 et supérieure du compilateur, vous pouvez sélectionner le format d'encodage des chaînes. Vous avez la possibilité de spécifier à l'échelle du projet si les chaînes sont interprétées au format Latin-1 ou au format UTF-8. Pour le codage UTF-8, activez le Encodage UTF8 pour STRING option de compilation.

Pour plus d'informations, consultez : Options de compilation et Encodage UTF-8

Astuce

Avant de changer de format d'encodage, il est conseillé de vérifier votre code avec la règle d'analyse statique SA0175.

Pour plus d'informations, consultez : Lumière d'analyse statique

Astuce

Ajouter le {attribute 'monitoring_encoding' := 'UTF8'} pragma à la déclaration d'une variable. Ensuite, vous pouvez surveiller le contenu de la variable dans l'encodage UTF8.

Pour plus d'informations, consultez : monitoring_encoding pragmatique