Tipo di dati: STRING
Importante
Nel caso della codifica Latin-1, la memoria richiesta per a STRING
variabile è sempre 1 byte per carattere più un byte aggiuntivo. Ad esempio, ciò si traduce in 81 byte nel caso di uno standard STRING(80)
dichiarazione.
Nel caso della codifica UTF-8, un carattere può essere lungo fino a 4 byte. Tuttavia, la lunghezza della stringa indica sempre il numero di byte che sono riservati alla STRINGA. Pertanto, non esiste più una relazione 1:1 tra il conteggio dei caratteri e la lunghezza della stringa.
Il STRING
il tipo di dati viene interpretato come Latin-1 o UTF-8: Se il Codifica UTF-8 per STRING l'opzione di compilazione è abilitata, quindi tutte le stringhe letterali vengono interpretate in formato UTF-8.
Dichiarazione:
<variable name> : STRING( <size> ) := ' <text> ';
<variable name> : STRING[ <size> ] := ' <text> ';
Il <size>
la dimensione della memoria e l'inizializzazione sono opzionali.
sVar : STRING(46):= 'This is a string with memory for 46 characters.'; sVar_µ : STRING[10] := 'µ (Mü)'; sVar_ß : STRING[10] := 'Eszett';
Una variabile di tipo di dati STRING
può contenere qualsiasi stringa. La quantità di <size>
la memoria riservata durante una dichiarazione si riferisce al numero di byte ed è indicata tra parentesi o parentesi quadre. Se una dimensione non è definita, per impostazione predefinita vengono riservati 80 caratteri. Se una variabile viene inizializzata con un valore letterale troppo lungo per il tipo di dati, il valore letterale viene troncato di conseguenza da destra.
Tuttavia, la lunghezza delle stringhe non è fondamentalmente limitata. Se esegui manipolazioni di stringhe con le funzioni della libreria Standard
eseguite, le stringhe fino a una lunghezza di 255 vengono elaborate correttamente. Se esegui manipolazioni di stringhe con le funzioni della libreria StringUtils
run, puoi anche usare stringhe più lunghe (>255 caratteri).
Quando una variabile del tipo di dati STRING
viene reinizializzato reimpostando l'applicazione, il contenuto della (vecchia) stringa, che esiste dopo il carattere null di terminazione del valore iniziale, non viene sovrascritto. Ciò vale sia per l'inizializzazione con il valore di inizializzazione sia per l'inizializzazione con il valore di inizializzazione predefinito 0.
Nella versione del compilatore 3.5.18.0 e successive, è possibile selezionare il formato di codifica delle stringhe. Hai la possibilità di specificare a livello di progetto se le stringhe vengono interpretate in formato Latin-1 o in formato UTF-8. Per la codifica UTF-8, abilitare il Codifica UTF8 per STRING opzione di compilazione.
Per ulteriori informazioni, vedere: Opzioni di compilazione e Codifica UTF-8
Suggerimento
Prima di modificare il formato di codifica, è consigliabile verificare il codice con la regola di analisi statica SA0175.
Per ulteriori informazioni, vedere: Luce di analisi statica
Suggerimento
Aggiungi il {attribute 'monitoring_encoding' := 'UTF8'}
pragma alla dichiarazione di una variabile. Quindi puoi monitorare il contenuto della variabile nella codifica UTF8.
Per ulteriori informazioni, vedere: monitoring_encoding pragma