0

このスニペットは私のシミュレーターをひどくクラッシュさせます。

s = "stämma"
s1 =  string.sub(s,3,3)
print(s1)

私のキャラクターをゼロとして扱っているようですが、何かアイデアはありますか?

ヨアキム

4

1 に答える 1

3

UTF-8エンコーディングを使用していると思います。

UTF-8 では、文字は 1 から 4 までの可変バイト数を持つことができます。"ä"文字 (228) は 2 バイトでエンコードされます0xC3 0xA4

この命令は、3 番目の文字ではなく、文字列 ( )から 3 番目のバイトstring.sub(s, 3, 3)を返します。このバイトだけでは無効な UTF-8 であるため、Corona では文字を表示できません。0xC3

Lua で UTF-8 文字列の最初の文字を抽出するも参照してください。

于 2012-11-10T23:37:47.633 に答える