Lua 字符串长度(utf8 中的西里尔字符)
Lua string length (cyrillic in utf8)
如何获取 lua 中带有西里尔符号的字符串的真实长度?
如果我使用 string.len("HELLO.") - 我会得到 6
但使用 string.len("ПРИВЕТ") - 我将得到 12(与“#”运算符相同)
所以符号的数量没有改变,但是我们得到了不同的数字...
这是因为西里尔字母有两个字节,而英文字母、数字等有1。
我想知道如何获得字符串的正确和实际长度(两个示例中都获得 6)。
谁能帮忙?
string.len
和 #
计算 字节 ,而不是 字符 。
在 Lua 5.3+ 中,使用 utf8.len
。
如何获取 lua 中带有西里尔符号的字符串的真实长度?
如果我使用 string.len("HELLO.") - 我会得到 6
但使用 string.len("ПРИВЕТ") - 我将得到 12(与“#”运算符相同)
所以符号的数量没有改变,但是我们得到了不同的数字... 这是因为西里尔字母有两个字节,而英文字母、数字等有1。 我想知道如何获得字符串的正确和实际长度(两个示例中都获得 6)。 谁能帮忙?
string.len
和 #
计算 字节 ,而不是 字符 。
在 Lua 5.3+ 中,使用 utf8.len
。