Utf 8 utf8.offset:如何指定起始位置?

Utf 8 utf8.offset:如何指定起始位置?,utf-8,lua,lua-5.3,Utf 8,Lua,Lua 5.3,如何使用utf8.offset(s,n,I)查找n处字符从特定字节和字符位置开始的偏移量?i参数记录如下: 返回s的第n个字符(从位置i开始计数)开始编码的位置(以字节为单位) 我得到了我所需要的I,但我不知道它是字节位置还是字符位置。如何使用它?Lua手册中的所有字符串偏移量均以字节为单位,除非手册另有规定。因此,i是字节偏移量,就像utf8一样。偏移量的返回值。i是字节位置(从1开始)。您可以在下一次调用utf8.offset(s,n,i)时,将utf8.offset(s,n,i)返回的结果

如何使用
utf8.offset(s,n,I)
查找
n
处字符从特定字节和字符位置开始的偏移量?
i
参数记录如下:

返回s的第n个字符(从位置i开始计数)开始编码的位置(以字节为单位)


我得到了我所需要的
I
,但我不知道它是字节位置还是字符位置。如何使用它?

Lua手册中的所有字符串偏移量均以字节为单位,除非手册另有规定。因此,
i
是字节偏移量,就像
utf8一样。偏移量
的返回值。

i
是字节位置(从1开始)。您可以在下一次调用
utf8.offset(s,n,i)
时,将
utf8.offset(s,n,i)
返回的结果作为
i
的值,用于相同的
s
@EgorSkriptunoff,谢谢!所以Lua在这个函数中缓存字符串,对吗?不,Lua不缓存字符串。它只是从您在参数
i
中指定的字节位置开始解析字符串,这就是为什么您可以逐步使用它来避免不必要的解析。@EgorSkriptunoff Hum,因此,例如,位置1相当于
i
?此外,
i
是否将是起始位置?类似于
1==i
@PolarDigit的内容:它说明了文档中正确的
i
“从位置i开始计数”。