このスニペットは私のシミュレーターをひどくクラッシュさせます。
s = "stämma"
s1 = string.sub(s,3,3)
print(s1)
私のキャラクターをゼロとして扱っているようですが、何かアイデアはありますか?
ヨアキム
UTF-8エンコーディングを使用していると思います。
UTF-8 では、文字は 1 から 4 までの可変バイト数を持つことができます。"ä"
文字 (228) は 2 バイトでエンコードされます0xC3 0xA4
。
この命令は、3 番目の文字ではなく、文字列 ( )から 3 番目のバイトstring.sub(s, 3, 3)
を返します。このバイトだけでは無効な UTF-8 であるため、Corona では文字を表示できません。0xC3
Lua で UTF-8 文字列の最初の文字を抽出するも参照してください。