0

这个片段使我的模拟器崩溃了。

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

似乎它将我的角色处理为零,有什么想法吗?

乔金

4

1 回答 1

3

我假设您使用的是 UTF-8 编码。

在 UTF-8 中,一个字符可以有可变数量的字节,介于 1 到 4 之间。"ä"字符 (228) 用两个字节编码0xC3 0xA4

该指令string.sub(s, 3, 3)返回字符串 ( ) 中的第三个字节,而不是第三个字符。由于仅此字节是无效的 UTF-8,Corona 无法显示该字符。0xC3

另请参阅使用 Lua 提取 UTF-8 字符串的第一个字母

于 2012-11-10T23:37:47.633 回答