Lua 字符串长度(UTF8 编码下的 Cyrillic)

如何在 Lua 中获取包含 Cyrillic 符号的字符串的实际长度?

如果使用 string.len("HELLO."),将得到 6。

但是,对于 string.len("ПРИВЕТ") 或使用 "#" 运算符,则会得到 12。

尽管字符数量没有变化,但我们得到了不同的数字。 这是因为 Cyrillic 符号占用两个字节,而英文字母、数字等只占用一个。 我想知道如何获得正确的字符串长度(在这两个示例中都是 6)。 可以帮忙的人都欢迎回复!

点赞
用户107090
用户107090

string.len# 计数 _字节_,而不是 _字符_。

在 Lua 5.3+ 中,可以使用 utf8.len

2017-03-30 18:17:48