Skip to main content

Tipo de datos: STRING

Importante

En el caso de la codificación Latin-1, la memoria requerida para un STRING variable es siempre 1 byte por carácter más un byte adicional. Por ejemplo, esto da como resultado 81 bytes en el caso de un estándar STRING(80) declaración.

En el caso de la codificación UTF-8, un carácter puede tener hasta 4 bytes de longitud. Sin embargo, la longitud de la cadena siempre indica el número de bytes que se reservan para la CADENA. Por lo tanto, ya no existe una relación 1:1 entre el número de caracteres y la longitud de la cadena.

Los STRING tipo de datos se interpreta como Latin-1 o UTF-8: Si el Codificación UTF-8 para STRING la opción de compilación está habilitada, luego todos los literales de cadena se interpretan en formato UTF-8.

Declaración:

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

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

Los <size> el tamaño de la memoria y la inicialización son opcionales.

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


Una variable de tipo de datos STRING puede contener cualquier cadena. La cantidad de <size> la memoria que se reserva durante una declaración se refiere al número de bytes y se muestra entre paréntesis o corchetes. Si no se define un tamaño, se reservan 80 caracteres de forma predeterminada. Si una variable se inicializa con un literal que es demasiado largo para el tipo de datos, entonces el literal se trunca en consecuencia desde la derecha.

Sin embargo, la longitud de las cuerdas no está fundamentalmente limitada. Si realiza manipulaciones de cadenas con las funciones de la biblioteca Standard ejecutado, las cadenas de hasta una longitud de 255 se procesan correctamente. Si realiza manipulaciones de cadenas con las funciones de la biblioteca StringUtils ejecutar, también puede usar cadenas más largas (>255 caracteres).

Cuando una variable del tipo de datos STRING se reinicializa reiniciando la aplicación, el contenido de la cadena (antigua), que existe después del carácter nulo final del valor inicial, no se sobrescribe. Esto se aplica tanto a la inicialización con el valor de inicialización como a la inicialización con el valor de inicialización predeterminado 0.

En la versión del compilador 3.5.18.0 y superior, puede seleccionar el formato de codificación de las cadenas. Tiene la posibilidad de especificar en todo el proyecto si las cadenas se interpretan en formato Latin-1 o en formato UTF-8. Para la codificación UTF-8, habilite el Codificación UTF8 para STRING opción de compilación.

Para más información, ver: Opciones de compilación y Codificación UTF-8

Sugerencia

Antes de cambiar el formato de codificación, es recomendable verificar su código con la regla de análisis estático SA0175.

Para más información, ver: Luz de análisis estático

Sugerencia

Añade el {attribute 'monitoring_encoding' := 'UTF8'} pragma a la declaración de una variable. Luego puede monitorear el contenido de la variable en codificación UTF8.

Para más información, ver: monitoring_encoding pragma