Bezeichnung
ByteOffset -- konvertiert Zeichen nach Byte-Versatz (V7.0)
Übersicht
boff = ByteOffset(s$, coff[, encoding])
Beschreibung
Dieser Befehl gibt den Byte-Versatz des Zeichens zurück, welcher innerhalb der Zeichenkette s$ bei dem in coff angegebenen Versatz liegt. Dieser Versatz ist in Zeichen, welcher bei 0 beginnt.

Mit dem optionalen Parameter encoding kann die zu verwendende Zeichencodierung festgelegt werden. Dies ist standardmäßig auf die Standardcodierung eingestellt, die mit SetDefaultEncoding() eingestellt ist. Siehe Zeichencodierungen für Details.

In der Zeichencodierung UTF-8 kann ein einzelnes Zeichen einen Speicherplatz von bis zu 4 Bytes benötigen. In der Zeichencodierung ISO 8859-1 hingegen gibt es keinen Unterschied zwischen Byte und Zeichengrößen. Daher ist es nicht sinnvoll, diesen Befehl mit der Zeichencodierung #ENCODING_ISO8859_1 aufzurufen.

Um einen Byte-Versatz in einen Zeichen-Versatz umzuwandeln, verwenden Sie den Befehl CharOffset(). Siehe CharOffset für Details.

Eingaben
s$
Eingabezeichenfolge
coff
Zeichen-Versatz, der einem Byte-Versatz zugeordnet wird (beginnt bei 0)
encoding
optional: Zeichencodierung, welche verwendet wird (voreingestellt ist die Standardcodierung) (V7.0)
Rückgabewerte
boff
Byte-Versatz des angegebenen Zeichens
Beispiel
boff = ByteOffset("äöü", 2)
Print(boff)
Wenn Hollywood im Unicode-Modus ist, wird dies 4 zurückgeben, da die beiden Zeichen vor dem "ü" jeweils 2 Byte im UTF-8-Code besitzen. In ISO 8859-1 gibt es keinen Unterschied zwischen Zeichen und Bytes, also wird in diesem Fall 2 zurückgegeben.

Navigation zeigen