Bezeichnung
CharOffset -- konvertiert Byte nach Zeichen-Versatz (V7.0)
Übersicht
coff = CharOffset(s$, boff[, encoding])
Beschreibung
Dieser Befehl gibt den Versatz des Zeichens zurück, welcher innerhalb der Zeichenkette s$ bei dem in boff angegebenen Versatz liegt. Dieser Versatz ist in Byte, 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 Zeichen-Versatz in einen Byte-Versatz umzuwandeln, verwenden Sie den Befehl ByteOffset(). Siehe ByteOffset für Details.

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

Navigation zeigen