String lua中的语音字体

String lua中的语音字体,string,lua,String,Lua,我正在使用Lua制作一个关于拼音字母学习游戏的应用程序,我有一个问题,我需要检查拼音的长度,需要检查它是否与我键入的匹配,但我发现所有拼音字母的长度都是2和,并且它们无法与我键入的匹配,示例如下: print(string.len("ð") -- outcome is: 2 print(string.len("pɛt")) -- outcome is: 4 print(string.sub("pɛt",3)) -- outcome is:›t 我该怎么办?字符串库不支持UT

我正在使用Lua制作一个关于拼音字母学习游戏的应用程序,我有一个问题,我需要检查拼音的长度,需要检查它是否与我键入的匹配,但我发现所有拼音字母的长度都是2和,并且它们无法与我键入的匹配,示例如下:

print(string.len("ð")       -- outcome is: 2
print(string.len("pɛt"))    -- outcome is: 4
print(string.sub("pɛt",3))  -- outcome is:›t

我该怎么办?

字符串库不支持UTF-8字符串。尝试utf8库。

字符串库不支持UTF-8字符串。请尝试utf8库。

Lua5.2本机不支持非ASCII字符串。
Lua5.3具有基本的UTF-8支持,因此您可能应该尝试使用Lua5.3。

Lua5.2不支持非ASCII字符串。
Lua 5.3有基本的UTF-8支持,所以也许你应该尝试使用Lua 5.3。

谢谢lhf和Cinch,在你的提示下,我终于找到了方法,代码如下,如果还有其他更聪明的方法,请告诉我

a。通过计算拼音的长度,我只需要原始长度减去非单字节字母表:

string.len("pɛt")-string.len("pɛt", "[^\128-\193]", ""))
b。通过检查它是否与我输入的内容相同,我使用了string.gfind:

for tempLetter in string.gfind("pɛt", "([%z\1-\127\194-\244][\128-\191]*)") do
        if theLetterITyped == tempLetter then
              --content
        else
              --content
        end
    end

感谢lhf和Cinch,在你的提示下,我终于找到了方法,代码如下,如果还有其他更聪明的方法,请告诉我

a。通过计算拼音的长度,我只需要原始长度减去非单字节字母表:

string.len("pɛt")-string.len("pɛt", "[^\128-\193]", ""))
b。通过检查它是否与我输入的内容相同,我使用了string.gfind:

for tempLetter in string.gfind("pɛt", "([%z\1-\127\194-\244][\128-\191]*)") do
        if theLetterITyped == tempLetter then
              --content
        else
              --content
        end
    end

您不能更改Corona SDK使用的Lua版本Rob Miracle 2014年2月10日2:17您无法更改Corona SDK使用的Lua版本Rob Miracle 2月10日2014年2月10日2时17分,有人说UTF8和UTF-8没有区别,谢谢@@我试图用其他编码保存Lua文件,例如TextWrangler中的UTF-16,当我在模拟器上运行应用程序时,它显示错误。有人说UTF8和UTF-8没有区别,无论如何,谢谢@@我试图用其他编码保存Lua文件,例如TextWrangler中的UTF-16,当我在模拟器上运行应用程序时,它会显示错误。