FB_BACnet_StringExtEncode

FB_BACnet_StringExtEncode 1:

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).