FB_BACnet_StringExtEncode
Anwendung
Funktionsbaustein zum Codieren von BACnet Strings. Unterstützt wird folgendes Coding: ASCII und UTF-8. Die Eingabe erfolgt in Windows-1252.
VAR_INPUT
pString : POINTER TO T_MaxString;
nSize : INT;
pResultExtStr : POINTER TO ST_BACnet_CharacterStringExt;
cbResult : UDINT;
pString: Zeiger auf den Eingabe-STRING (Windows-1252 codierter Text).
nSize: Zeichenlänge des Eingabe-STRINGs (LEN oder SIZEOF).
pResultExtStr: Zeiger auf die Ausgabe-Struktur (BACnet String).
cbResult: Byte-Länge der Ausgabe-Struktur (maximal beschreibare Länge in Byte, SIZEOF).
VAR_OUPUT
bValid : BOOL;
bOverflow : BOOL;
nLength : UDINT;
bValid: Codieren war erfolgreich.
bOverflow: Eingabe-Zeichenkette ist zu lang, um auf die Ausgabe-Struktur codiert zu werden (bei der Konvertierung von Windows-1252 [1-Byte pro Zeichen] zu UTF-8 [1 bis 3 Byte pro Zeichen], ist der Speicherbedarf der Ausgabe u.U. wesentlich höher als der des Eingabe-STRINGs → Platzbedarf pro Zeichen variiert zwischen 1 bis 3 Byte bei UTF-8 Coding).
nLength: Tatsächlich geschriebene Anzahl Bytes der Ausgabe-Struktur (entspricht nicht zwingend der Zeichenlänge).