GBK-kodierten Text in UTF-8-kodierten Text umwandeln (string.from_gbk)
Deklaration
Direkt_verwendbarer_Text = string.from_gbk(GBK-kodierter_Text)
Parameter
- GBK-kodierter Text
Text; GBK-kodierter Text, der in UTF-8 umgewandelt werden soll
Rückgabewert
- Direkt_verwendbarer_Text
String oder nil; gibt den UTF-8-kodierten Text zurück. Wenn ein Kodierungsfehler die Umwandlung verhindert, wird nil zurückgegeben.
Beschreibung
Wandelt GBK-kodierten Text in UTF-8-kodierten Text um.
Ist die Eingabekodierung selbst fehlerhaft, führt die Funktion die Byte-Umwandlung trotzdem anhand der Zuordnung durch; die daraus entstehenden unlesbaren Zeichen sind kein Fehler der Funktion.
Für komplexere Anforderungen an die Zeichenkodierung siehe luaiconv (Bibliothek zur Zeichenkodierung).
Hinweis: GBK enthält die Kodierung GB2312, daher kann auch GB2312-Text mit dieser Funktion umgewandelt werden.
Beispiel
-- Chinesische Kodierung, chinesischer Standard, nationale Erweiterung, GB2312
gbkstr = '\x58\x58\x54\x6f\x75\x63\x68\x20\xba\xdc\xc7\xbf'
--
sys.alert(gbkstr) -- Ein GBK-kodierter String kann nicht angezeigt werden
sys.alert(string.from_gbk(gbkstr)) -- Ausgabe "XXTouch 很强"
Hinweis: Der obige Code verwendet die Funktion sys.alert aus einem anderen Kapitel.
Erläuterung: Im Lua-Quellcode bezeichnet ein String mit \x gefolgt von zwei Hexadezimalziffern ein einzelnes Byte, das mit dieser Zahl kodiert ist. Zum Beispiel bezeichnet \x58 das Zeichen X; ausdruckbare Zeichen siehe „ASCII-Kodierung“.