Mit diesem Befehl kann die Standard-Zeichencodierungen für die
Text- und Zeichenketten- Bibliotheken geändert werden. Beachten
Sie, dass aus Gründen der Kompatibilität Hollywood zwei verschiedene
Standard-Zeichencodierungen unterstützt: Eine für die Text-
und eine für die Zeichenketten-Bibliothek. Unter normalen Umständen
sollten jedoch beide Standard-Zeichencodierungenen auf die gleiche
Zeichencodierung gesetzt werden.
Die Standard-Zeichencodierungen für die Text-Bibliothek wird in
tencoding angegeben und wirkt sich auf die Befehle wie Print(),
NPrint(), TextOut() und CreateTextObject() aus.
Die Standard-Zeichencodierungen für die Zeichenketten-Bibliothek
muss im Parameter sencoding angegeben werden und beeinflusst
die meisten Befehle der Zeichenketten-Bibliothek wie z.B. ReplaceStr()
und StrLen().
Die folgenden Zeichencodierungen werden derzeit von Hollywood unterstützt:
#ENCODING_UTF8:
-
Verwendet die UTF-8-Codierung. Dies ist der Standard seit
Hollywood 7.0.
#ENCODING_ISO8859_1:
-
Dies war die Standardcodierung vor Hollywood 7.0. Dies kann
nützlich sein, wenn Sie mit Binärdaten oder Zeichenketten arbeiten
müssen, die nicht als UTF-8 formatiert sind. Lassen Sie sich
nicht vom Namen verwirren: Auch wenn die Konstante ISO 8859-1
heißt, kann sie tatsächlich mit allen Arten von Nicht-UTF-8-Codierungen
verwendet werden, da es für die meisten Zeichenketten-Bibliotheksbefehle
keinen Unterschied macht, ob die Codierung ISO 8859-1 oder ein
anderer Zeichensatz ist, solange ein Zeichen ein Byte ist, was
für alle Nicht-UTF-8-8-Bit-Codierungen gilt. Die einzigen Befehle,
die mit Nicht-ISO-8859-1-Codierungen nicht funktionieren, sind
Befehle wie UpperStr(), LowerStr() usw., da sie
die Umwandlung von Groß- und Kleinbuchstaben auf der Grundlage
der ISO 8859-1-Zeichentabelle durchführen und andere Codierungen
andere Zeichentabellen erfordern, sodass dieser Befehl für
Nicht-ISO-8859-1-Text keine korrekten Ergebnisse liefern. Da
#ENCODING_ISO8859_1 auch mit anderen Codierungen verwendet
werden kann, gibt es auch die Synonymkonstante #ENCODING_RAW,
die semantisch möglicherweise weniger irreführend ist, da sie
nicht darauf hindeutet, dass Zeichenketten im ISO 8859-1-Format
vorliegen (siehe unten).
#ENCODING_RAW:
-
Dies entspricht
#ENCODING_ISO8859_1, aber aus semantischer Sicht
ist die Verwendung dieser Option anstelle von #ENCODING_ISO8859_1
möglicherweise vorzuziehen, da sie nicht darauf hindeutet, dass
Zeichenketten in der Codierung ISO 8859-1 vorliegen oder vorliegen
müssen. Stattdessen besagt sie lediglich, dass Zeichenketten
einfach als Folge von rohen 8-Bit-Zeichen behandelt werden.